[英]“ImportError: No module named…” when importing my own module
我正在尝试导入一个模块,但我不断收到 ImportError。
在 PortfolioStatus.py 文件中,我有以下代码从 share_data.py 模块导入 share_data 类from Shares.share_data import share_data
我收到以下错误:
File "/home/lucasamos/FYP/Shares/Communication/PortfolioStatus.py", line 3, in <module>
from Shares.share_data import share_data
ImportError: No module named Shares.share_data
为了让事情更加混乱,这在我的本地机器上运行良好,但我在 PythonAnywhere 上托管,这就是我收到错误的地方
我的文件层次结构如下图所示
提前致谢!
你应该试试这个:
import sys
sys.path.append("../Shares/templates")
import share_data
它将您的模板文件夹添加到 python 正在检查模块的路径列表中。
好的,所以我终于解决了。 正如一些答案所示,我需要将我的根文件夹添加到系统路径中。
最后这就是我所做的:
import sys
sys.path.append("/home/lucasamos/FYP")
使用manage.py
文件在一层添加空的__init__.py
。
__init__.py
文件的这种包含向 Python 解释器表明该目录应该被视为一个 Python 包。
这可能是因为您的 Shares 目录不在您的 PYTHONPATH 中。
请参阅有关使用 PYTHONPATH 的这篇文章: https : //users-cs.au.dk/chili/PBI/pythonpath.html
摘抄:
但是,您通常需要导入与主程序不在同一目录中的模块。 继续上面的例子,假设你正在编写一个位于 ~/PBI/ 的程序,它需要包含 mymodule.py。
为了让 Python 解释器找到你的模块,你需要告诉它去哪里寻找。 您可以通过设置环境变量 PYTHONPATH 来做到这一点。 根据您使用的 shell 程序(例如 xterm),这可以通过以下两种方式之一完成。
重击:
export PYTHONPATH=${PYTHONPATH}:/users/[您的用户名]/PBI/Modules/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.