Python脚本与纯Python一样工作,但不与Flask配合使用

Python脚本与纯Python一样工作,但不与Flask配合使用,python,web,flask,Python,Web,Flask,我正在编写一些从画布中提取课程信息的代码。作为纯python,它工作得很好。如果我尝试将它与Flask合并,我会得到以下错误 requests.exceptions.MissingSchema: Invalid URL 'run/api/v1/courses/1234567': No schema supplied. Perhaps you meant http://run/api/v1/courses/1234567? 以下是相关代码: 画布文件 import sys from canvas

我正在编写一些从画布中提取课程信息的代码。作为纯python,它工作得很好。如果我尝试将它与Flask合并,我会得到以下错误

requests.exceptions.MissingSchema: Invalid URL 'run/api/v1/courses/1234567': No schema supplied. Perhaps you meant http://run/api/v1/courses/1234567?
以下是相关代码:

画布文件

import sys
from canvasapi import Canvas

def getinfo():
    canvasurl = "https://canvas.instructure.com/";
    canvastoken = #Redacted for this example

try:
    canvastoken = sys.argv[1];
    canvasurl = sys.argv[2];
except:
   print()


#Create a new canvas object passing in the newly aquired url and token
canvas = Canvas(canvasurl, canvastoken);

#print(canv)

# Create a new course oject -- passing in course number as a parameter
# Course number is currently hard coded

print(canvas.get_course(1234567))
Flask文件代码我尝试运行的文件:

from flask import Flask
import canvas

canvas.getinfo()

app = Flask(__name__)


@app.route('/')
def hello_world():
    return 'Hello World!'


if __name__ == '__main__':
    app.run()

没有提供架构通常意味着您没有在URL中指定http://或https://

在您提供的代码中,我没有看到对run/api/v1/courses/1234567的任何引用。一种可能性是,如果您在代码中的任意位置使用url\u for方法,请尝试设置_external=True:

这允许Flask构造一个绝对URL,即包含域的URL

如果您没有使用url_,请检查代码中可能从url中省略http或https的其他位置


如果您将问题更新为包含引用违规URL的部分,我们可能会提供更具体的帮助。

您用于测试此问题的URL是什么?
url = url_for('relativeURL', _external=True)