在Python中出现ImportError: No module named *****错误

16

我是Python的新手,大概一个月左右,正试图弄清楚Python中的导入工作原理。有人告诉我可以导入任何包含Python代码的"模块"。所以我正在尝试导入一个模块来测试它,但是一直出现"ImportError: No module named redue"。这是Python shell的一个例子:

>>> import os
>>> os.chdir('C:\Users\Cube\Documents\Python')
>>> for file in os.listdir(os.getcwd()):
     print file
pronounce.py
pronounce.pyc
readwrite.py
rectangle.py
reduc.py

>>> import reduc

Traceback (most recent call last):
   File "<pyshell#32>", line 1, in <module>
    import reduc
ImportError: No module named reduc

我做错了什么?我是漏看了什么,还是被错误地告知了?

1个回答

16
这些文件不在sys.path中,但应该在其中。如果您想从解释器中访问它们,您需要将位置添加到sys.path中。
>>> import sys
>>> print sys.path
>>> sys.path.append('C:\\Users\\Cube\\Documents\\Python')
>>> import reduc

您还可以将路径包含在环境变量 - PYTHONPATH 中。
有关模块搜索路径的详细信息,请参见此处:

也可以查看这里关于 (PYTHONPATH) 环境变量的详细信息:


2
当前工作目录通常不在搜索路径中吗? - sth
@sth: 它应该可以工作的!很难检查出原因。所以我只是想确保它在sys.path上,如果有其他错误,我们可以跟进。 - pyfunc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接