我认为我所拥有的是正确的。我的计算机上只有一个版本的python。 Python 2.7.6。我构建了一组模块并将它们放入SILO3文件夹,然后将该文件夹放入C:\ Python27(在路径中),是的,由于某种原因,我无法从SILO3导入第一个(或任何)库。
我需要了解什么?我认为我的环境变量是正确的。
答案 0 :(得分:0)
您将主脚本命名为 SILO3.py
。 Python发现,首先,你必须重命名脚本,它会掩盖包。
你可以在你的追溯中看到这个; Desktop\SILO3.py
已导入Desktop\SILO3.py
,但本身未找到CheckTruth
:
Traceback (most recent call last):
File "C:\Users\admin\Desktop\SILO3.py", line 10, in <module>
from SILO3 import CheckTruth
File "C:\Users\admin\Desktop\SILO3.py", line 10, in <module>
from SILO3 import CheckTruth
ImportError: cannot import name CheckTruth
注意File
行;他们确切地告诉你哪些代码触发了异常。 SILO3.py
导入SILO3.py
位于完全相同的位置。例外情况告诉您,Python找到了 SILO3
包或模块,但该位置的名称CheckTruth
不可用。
您还可以通过询问导入的模块的文件位置来诊断它:
import SILO3
print SILO3.__file__
并验证导入的内容是您希望导入的内容。
答案 1 :(得分:0)
Python在sys.path
中指定的路径中搜索模块。
%PATH%
环境变量与模块搜索路径无关。
您可以使用%PYTHONPATH%
环境变量指定自定义搜索路径。但是,这通常是没有必要的。
将您的模块放在与导入它的脚本相同的目录中。当前目录位于默认的python路径中。
即:
c:\some-folder\SILOV3.py
c:\some-folder\SILO3\
c:\some-folder\SILO3\__init__.py
c:\some-folder\SILO3\CheckTruth.py
另外,正如@Martijn Pieters所提到的,名为SILO3.py的文件是一个模块,因此如果您有一个具有相同名称的文件夹模块,您将无法导入它。