导入自定义包和模块的问题?

时间:2013-09-04 07:36:18

标签: python module package project spyder

我正在使用Spyder。

我刚开始建立一个项目。它的架构目前如图所示。

enter image description here

如图所示,我有2个包,其中一个包含一个名为trajectorygeneration的模块。 __init__.py文件都是自动生成的。我正在尝试将模块导入main.py,但我最终收到了这样的错误消息:

>>> from generation import trajectorygeneration
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named generation

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:2)

Spyder dev here )这是Spyder的一个错误。我们没有将项目的路径添加到PYTHONPATH,这就是为什么在打开项目后无法在控制台中导入项目的原因。我为你创建了一个issue,我们将在下一个主要版本(即2.3)中修复它。

现在的解决方法(正如@Jblasco所提到的)是使用我们的PYTHONPATH管理器自己添加项目的路径。完成后,您需要打开一个新的控制台,以便更改生效。

答案 1 :(得分:0)

可能是那个代不在你的路径而且python找不到包?

请参阅:Expand Python Search Path to Other Source

另外,Spyder有一个“pythonpath”管理器(至少我的),你可以在其中包含任何文件夹。问题是,如果你这样做,那么python控制台很可能不包括那些,所以你无法在控制台中导入。

答案 2 :(得分:0)

这似乎是由错字造成的。

在您的图片中,目标文件名为trajectorygeneration.py。 但是main.py会导入名为trajectorygeneration's'的模块。