热门标签:
Q:

"ImportError:没有命名的模块。.."导入我自己的模块时

我正在尝试导入一个模块,我不断得到一个ImportError。

在PortfolioStatus.py 文件我有下面的代码,从导入share_data类share_data.py 模块
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上托管,这就是我得到错误的地方

我的文件层次结构如下图所示

<img alt="文件层次结构"src="https://i.stack.imgur.com/NbAOp.jpg缧/>

提前感谢!

原网址
A:

好吧,我终于解决了。 正如一些答案所示,我需要将根文件夹添加到系统路径。

最后这就是我所做的:

import sys
sys.path.append("/home/lucasamos/FYP")

所有回答

共 3 条

author avatar

你应该试试这个:

import sys
sys.path.append("../Shares/templates")
import share_data

它将您的templates文件夹添加到python正在检查模块的路径列表中。

author avatar

使用manage.py文件在一个级别上添加emptymanage.py

这样包含manage.py文件向Python解释器表明该目录应该被视为Python包。

author avatar

这可能是因为您的Shares目录不在您的PYTHONPATH中。

看到这篇关于使用PYTHONPATH的文章: https://users-cs.au.dk/chili/PBI/pythonpath.html

摘录:

但是,您通常需要导入与主程序不在同一目录中的模块。 继续上面的例子,假设你正在编写一个位于~/PBI/的程序,它需要包括mymodule.py...

为了让Python解释器找到您的模块,您需要告诉它在哪里查找。 你可以通过设置环境变量PYTHONPATH来做到这一点。 根据您使用的shell程序(例如,xterm),这是通过两种方式之一完成的。

巴什:

导出PYTHONPATH=PYTH{PYTHONPATH}:/users/[您的用户名]/PBI/Modules/

相似问题