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 -m PIP install <library-name>来安装模块,而不是PIP install <library-name> 在管理限制的情况下,您可以使用sudo

其他回答

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

我也有类似的问题。我创建了一个名为python3.6的新虚拟环境。

conda create -n python3.6 python=3.6
pip install pandas

一切正常,但当我运行脚本时,发生了一个错误

ModuleNotFoundError: No module named 'pandas'

我发现Python包的元数据和pip的缓存已经更新,但它实际上没有下载pandas包。 所以我试着让皮普重新安装

pip uninstall pandas --no-cache-dir
pip install pandas 

这就解决了问题。

在linux服务器上尝试dos2unix script_name

(使用find命令删除所有pyc文件(如果有的话)。- name”*。佩克”删除)

如果你在Windows上使用脚本,重新运行

致所有还有这个问题的人。我相信Pycharm与import混淆了。对我来说,当我写“从命名空间导入一些东西”时,前一行会用红色划线,表明有错误,但有效。然而,“from .namespace import something”没有下划线,但也不起作用。

Try

try:
    from namespace import something 
except NameError:
    from .namespace import something

在我的例子中,我包含了打包路径。鸡蛋文件夹,而不是下面的实际包裹。我复制包到顶级,它工作。