Python错误“ ImportError:未命名模块”

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

我已经检查过sys.path并且那里有目录/site-packages 。 另外,我在toolkit文件夹中有文件__init__.py.bin ,以向Python指示这是一个软件包。 我在示例目录中也有一个__init__.py.bin

我不知道为什么在sys.path时Python无法找到该文件。 有任何想法吗? 可以是权限问题吗? 我需要执行许可吗?


#1楼

就我而言,问题是我链接到调试 pythonboost::Python ,它要求扩展名是FooLib_d.pyd ,而不仅仅是FooLib.pyd ; 重命名文件或更新CMakeLists.txt属性CMakeLists.txt该错误。


#2楼

  1. 您必须在与要导入文件相同的目录中拥有文件__ init__.py。
  2. 您不能尝试从PYTHONPATH上配置的2个文件夹中导入具有相同名称的文件。

例如:/ etc / environment

PYTHONPATH = $ PYTHONPATH:/ opt /文件夹1:/ opt /文件夹2

/ opt / folder1 / foo

/ opt / folder2 / foo

并且,如果您尝试导入foo文件,python将不知道您要哪个。

从foo import ... >>> importerror:没有名为foo的模块


#3楼

我在LPTHW中进行此练习时遇到了非常相似的事情。 我永远无法让Python识别出我正在从其调用的目录中有文件。 但是我最终能够使它工作。 我所做的以及我的建议是尝试以下操作:

(注意:从您的第一篇文章中,我假设您使用的是基于* NIX的计算机,并且正在通过命令行运行,因此此建议是针对性的。自从我运行Ubuntu以来,我就是这样做的。

1)将目录(cd)更改为文件所在目录上方的目录。 在这种情况下,您将尝试运行mountain.py文件,并尝试调用在单独目录中的toolkit.interface.py模块。 在这种情况下,您将转到包含两个文件路径的目录(或换句话说,这两个文件的路径共享的最近目录)。 在这种情况下,该目录是toolkit目录。

2)在tookit目录中时,在命令行上输入以下代码行:

export PYTHONPATH=.

这会将您的PYTHONPATH设置为“。”,这基本上意味着您的PYTHONPATH现在将在您当前所在目录(甚至更重要的是,您所

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值