【发布时间】:2020-04-11 13:01:04
【问题描述】:
我最近安装了一个library,它创建了一个包含各种python3脚本的目录和子目录。
让我们关注目录
/Users/username/TeNPy/tenpy/models
这包含一些预制模块,例如一个名为 toric_code.py 的模块,其中包含“ToricCode”类。
如果我运行一个仅包含的脚本(例如,我们称之为test.py,位于我的桌面上)
from tenpy.models.toric_code import ToricCode
这工作得很好,我没有错误。
现在我创建了一个新脚本,将其命名为 test_module.py 并复制粘贴了 toric_code.py 脚本。两者之间的内容完全相同。现在我把 test_module.py 和 toric_code.py 放在同一个目录下。
如果我跑了
from tenpy.models.test_module import ToricCode
我得到了错误
ModuleNotFoundError: No module named 'tenpy.models.test_module'
TL;DR - 如何让我安装的库将我自己的脚本之一作为模块读取?。
【问题讨论】:
-
您确定您编辑的目录正确吗?当我在我的机器上执行相同的过程时,它可以正常工作。如果是
import sys; print(sys.path),是否包含/Users/username? -
实际上——考虑到你说文件夹的名称是
teNPy大写,它几乎肯定不会从那个文件夹加载库——Python 的库加载是区分大小写的,IIRC。 -
如何让库读取您自己的脚本?它已经写好了,即使你把它放在同一个目录下它也不知道你的脚本......
-
“如果我跑步”是什么意思?请在问题中展开。您正在使用失败的导入运行什么脚本?脚本在哪里?
-
感谢您的评论。我更新了问题。脚本 test.py 仅包含“from tenpy.models.toric_code import ToricCode”,我已将其放在桌面上。这工作正常。如果我将其更改为“from tenpy.models.test_module import ToricCode”,则会收到有关模块不存在的错误。
标签: python python-3.x python-module