首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >上传到IBM-Cloud后的"ImportError:没有模块“

上传到IBM-Cloud后的"ImportError:没有模块“
EN

Stack Overflow用户
提问于 2018-04-13 14:11:37
回答 1查看 365关注 0票数 0

所以我有一个路径结构,如下所示:

代码语言:javascript
复制
~/Dropbox/Coding/Python/Chessbotslack/scripts/Flask_interface.py
~/Dropbox/Coding/Python/Chessbotslack/database/spreadsheets.py

Flask_interface.py的第一行是:

代码语言:javascript
复制
from Chessbotslack.database.spreadsheets import add_game

如果我从我的IDE (PyCharm)运行它,它运行得很好;但是如果我从我的终端运行它,它会抛出错误:

代码语言:javascript
复制
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

在终点站我跑了

代码语言:javascript
复制
export PYTHONPATH=$PYTHONPATH:~/Dropbox/Coding/Python

这解决了在我的终端上运行它的问题,但正如预期的那样,它并没有解决IBM的问题。也许它与requirements.txt文件有关?

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-16 09:33:51

更改为平面文件夹结构( Chessbotslack文件夹中的每个文件),并从以下位置更改import命令:

代码语言:javascript
复制
from Chessbotslack.database.spreadsheets import add_game

至:

代码语言:javascript
复制
from spreadsheets import add_game

解决了。奇怪的是,IDE (PyCharm)不承认这是正确的;只是在(错误地)添加文件夹名“Chessbotslack”之后。在它的前面,IDE帮助解决问题。

知道该怎么做吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49818994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档