繁体   English   中英

导入我自己的模块时出现“ImportError: No module named...”

[英]“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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM