所以我有一个路径结构,如下所示:
~/Dropbox/Coding/Python/Chessbotslack/scripts/Flask_interface.py
~/Dropbox/Coding/Python/Chessbotslack/database/spreadsheets.pyFlask_interface.py的第一行是:
from Chessbotslack.database.spreadsheets import add_game如果我从我的IDE (PyCharm)运行它,它运行得很好;但是如果我从我的终端运行它,它会抛出错误:
Traceback (most recent call last):
File "Flask_interface.py", line 1, in <module>
from Chessbotslack.database.spreadsheets import add_game
ModuleNotFoundError: No module named 'Chessbotslack'为了解决这个问题,我做了两件事:
1)将__init__.py添加到目录
这似乎完成了任何事情
2)将目录添加到$PYTHONPATH
在终点站我跑了
export PYTHONPATH=$PYTHONPATH:~/Dropbox/Coding/Python这解决了在我的终端上运行它的问题,但正如预期的那样,它并没有解决IBM的问题。也许它与requirements.txt文件有关?
2018-04-16T09:08:45.30+0200 [APP/PROC/WEB/0]ERR File "scripts/Flask_interface.py", line 1, in <module>
2018-04-16T09:08:45.30+0200 [APP/PROC/WEB/0]ERR from Chessbotslack.database.spreadsheets import add_game
2018-04-16T09:08:45.30+0200 [APP/PROC/WEB/0]ERR ImportError: No module named Chessbotslack.database.spreadsheets发布于 2018-04-16 09:33:51
更改为平面文件夹结构( Chessbotslack文件夹中的每个文件),并从以下位置更改import命令:
from Chessbotslack.database.spreadsheets import add_game至:
from spreadsheets import add_game解决了。奇怪的是,IDE (PyCharm)不承认这是正确的;只是在(错误地)添加文件夹名“Chessbotslack”之后。在它的前面,IDE帮助解决问题。
知道该怎么做吗?
https://stackoverflow.com/questions/49818994
复制相似问题