Python安装在本地目录。

我的目录树是这样的:

(local directory)/site-packages/toolkit/interface.py

我的代码在这里:

(local directory)/site-packages/toolkit/examples/mountain.py

为了运行这个例子,我编写了python mountain.py,在代码中我有:

from toolkit.interface import interface

我得到了一个错误:

Traceback (most recent call last):
  File "mountain.py", line 28, in ?
    from toolkit.interface import interface
ImportError: No module named toolkit.interface

我已经检查过系统了。这里有目录/site-packages。此外,我在工具包文件夹中有__init__.py.bin文件,以向Python表明这是一个包。我在examples目录中也有一个__init__.py.bin。

我不知道为什么Python无法在sys.path中找到该文件。什么好主意吗?会是权限问题吗?我需要一些执行许可吗?


当前回答

在我的例子中,问题是我链接到调试python和boost:: python,这要求扩展名是愚息_d。pyd,不仅仅是愚愚。pyd;重命名文件或更新CMakeLists.txt属性修复了错误。

其他回答

您必须将文件__ init__.py放在您要导入的文件所在的同一目录中。 不能尝试从PYTHONPATH上配置的两个文件夹中导入同名的文件。

例如: /etc/environment

PYTHONPATH = PYTHONPATH:美元/ opt / folder1: / opt / folder2

/opt/folder1/foo

/opt/folder2/foo

而且,如果你试图导入foo文件,python将不知道你想要哪个。

从foo import…>>> importerror:没有foo模块

使用PyCharm (JetBrains套件的一部分),你需要定义你的脚本目录为Source: 右键单击>将目录标记为> Sources Root

对我来说,这是件非常愚蠢的事。我使用pip3 install安装了这个库,但是我运行的程序是python program.py,而不是python3 program.py。

我也遇到了同样的问题:导入错误。此外,库已经100%正确安装。问题的根源是在我的PC上安装了3版的python (anaconda包)。这就是为什么图书馆没有安装在正确的地方。之后,我只是在我的IDE PyCharm中更改了适当的python版本。

对我来说,将该文件作为模块运行很有帮助。

而不是

python myapp/app.py

使用

python -m myapp.app

这并不完全相同,但在某些情况下这可能是一种更好的方法。