Python 烧瓶初始化导入错误
我无法将其他文件中的函数导入烧瓶中的Python 烧瓶初始化导入错误,python,python-3.x,flask,Python,Python 3.x,Flask,我无法将其他文件中的函数导入烧瓶中的\uuuu init\uuuuu.py。从文件导入某些内容时出错500 \uuuu init\uuuuu.py from flask import Flask from fel import fel app = Flask(__name__) @app.route("/") def hello(): return "Hello World!" if __name__ == '__main__': app.run(debug=True)
\uuuu init\uuuuu.py
。从文件导入某些内容时出错500
\uuuu init\uuuuu.py
from flask import Flask
from fel import fel
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == '__main__':
app.run(debug=True)
def fel(a,b):
c = a+b
return (c)
fel.py
from flask import Flask
from fel import fel
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == '__main__':
app.run(debug=True)
def fel(a,b):
c = a+b
return (c)
如果我删除\uuuu init\uuuuu.py
文件中的以下行
from fel import fel
一切都好
\uuuu init\uuuu.py
和fel.py
位于同一目录中
我正在使用Python 3.4
错在哪里?
编辑:
结构
FlaskApp\
__init__.py
fel.py
只是
只是
您的输入应为:
from FlaskApp.fel import fel
而FlaskApp
的父目录需要以某种方式出现在sys.path
中(例如,设置PYTHONPATH环境变量)。您的导入应该是:
from FlaskApp.fel import fel
而FlaskApp
的父目录需要以某种方式出现在sys.path
中(例如,设置PYTHONPATH环境变量)。使用相对导入
from .fel import fel
fel(something)
说明:
进口自由电子激光的问题是你不知道它是否是
绝对进口或相对进口。fel可以是python中的一个模块
路径或当前模块中的包
源使用相对导入
from .fel import fel
fel(something)
说明:
进口自由电子激光的问题是你不知道它是否是
绝对进口或相对进口。fel可以是python中的一个模块
路径或当前模块中的包
Source包(目录)的名称是什么?您是否希望fel import fel的
是Python 2风格的相对导入,从导入fel
函数,无论您的包是什么。fel
?在Python 3中,相对导入必须是显式的。目录是flaskapp包(目录)的名称是什么?您是否希望fel import fel的是Python 2风格的相对导入,从导入fel
函数,无论您的包是什么.fel
?在Python 3中,相对导入必须是显式的。目录是FlaskAppStill error 500,我在digitalocean vps和Pythonywhere wim上测试。是的,您的权利不是选项,但适用于TestRite。请尝试此操作以测试错误:注释fel导入并添加到hello_world中尝试:从fel导入fel,除了ImportError,e:返回str(e)非常感谢您的帮助oskararenas但解决方案wim对我有效:)仍然错误500我在我的digitalocean vps和Python上测试,其中wim是的,您是对的,但对TestRite有效尝试以下测试错误:注释fel导入并添加到hello_world中尝试:从fel导入fel除了ImportError,e:返回str(e)非常感谢您对oskararenas的帮助,但wim的解决方案对我有效:)