我在使用eclipse上的PyDev识别已经安装的模块时遇到了问题。这是我的详细方法。这台机器是Mac(Snow Leopard)。
在终止命令
python --version
显示 Python 2.6.6 。
import unidecode
和
from unidecode import unidecode
工作得很好!
我在Eclipse中安装了PyDev并开始配置python解释器(Auto Config)。我选择了所有提议的软件包,然后点击 Apply 和 Ok 。
但是eclipse不断抱怨
Traceback (most recent call last):
File "/Users/me/Documents/workspace/myproject/python/pythontest.py", line 12, in <module>
from unidecode import unidecode
ImportError: No module named unidecode
python文件看起来像这样
#!/usr/bin/env python
# encoding: utf-8
import sys
import os
from unidecode import unidecode
def main():
print unidecode(u"Ågot Aakra")
if __name__ == '__main__':
main()
当我删除脚本中的第一行
时#!/usr/bin/env python
导致同样的错误。
有人知道问题所在吗?
答案 0 :(得分:27)
这是我的问题的解决方案:
../site-packages/
的路径。 (对我而言,我的Mac上使用Snoe Leopard的python 2.6是/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/
。)../site-packages/
。你应该好好去。 =)
感谢@all particionts,他们在评论中提供了正确方向的提示。
答案 1 :(得分:2)
我今天遇到了同样的问题。我正在使用pydev并且有一个包含许多子包的工作项目。创建新模块后突然间,我无法在不同的软件包中使用此模块。令人费解的特点是我可以在同一个子包中使用另一个模块......
最后
我使用以下脚本删除了所有已编译的类:
import os
def clean_folder(folder):
for file in os.listdir(folder):
path = os.path.join(folder,file)
if os.path.isdir(path):
clean_folder(path)
if '.pyc' == file[-4:]:
print 'deleting: ' + str(path)
os.remove(path)
if __name__ == '__main__':
folder = 'YOUR_PROJECT_SRC_PATH'
clean_folder(folder)
最后我可以'实际'工作:) 希望它对某人有帮助......
答案 2 :(得分:2)
您只需将模块添加到pydev路径即可。转到项目属性(从上下文菜单中) - &gt; PyDev - &gt; PYTHONPATH - &gt;外部图书馆。根据模块是在源文件夹还是zip / egg文件中,选择添加源文件夹或添加zip / jar / egg。导航到site-packages目录并指向相关文件或文件夹(我的是:/usr/local/lib/pythonx.x/site-packages)
答案 3 :(得分:1)
当Eclipse因系统或项目中存在的包而“丢失”时,从项目的上下文菜单中选择“属性”菜单项,然后选择树视图中的“PyDev - PYTHONPATH”项。在对话框的左侧,然后是“强制恢复内部信息”按钮。看起来,PyDev保留了信息的计算缓存,并且由于任何原因缓存变得不连贯,您可以强制PyDev重新计算。
答案 4 :(得分:1)
在我的情况下,我在编译之前没有收到此错误,但是当我编译时,我收到错误 ImportError:没有名为myant.core的模块。我试图从 PyDev-PYTHONPATH 添加文件,但我又得到了同样的错误。然后我意识到我实际上不必将路径完全添加到我的.py文件所在的文件夹中。事实上,我必须添加 myant.core 所在的文件夹。执行此操作后,当我再次重新编译项目时,我重新启动了,问题得到解决。我愿意分享一下:
Python 2.7 Eclipse kepler 4.3,PyDev 3.9.2和我的ubuntu 14.04
.py 文件位置:/${PROJECT_DIR_NAME}/src/myant/core
,因此我添加了/${PROJECT_DIR_NAME}/src
答案 5 :(得分:0)
尝试偏好&gt; pydev&gt;解释器 - python并删除并重新添加python解释器(确保在删除它之前知道它的路径),当你重新添加它时勾选所有方框。
答案 6 :(得分:0)
@Aufwind上面你的答案有所帮助,但没有为我解决。
然后我很高兴。 =)
答案 7 :(得分:0)
这对我有用。不需要重启Eclipse。
答案 8 :(得分:0)
答案 9 :(得分:0)
对于氧气2(我认为它也适用于早期版本)......
要使导入错误标记在我的代码编辑器中消失,我需要在违规导入后键入一个空格然后保存更改。然后导入错误消失,因为PyDev现在可以找到有问题的导入模块。
答案 10 :(得分:-1)
假设你的永恒模块在/.
启动Eclipse并转到项目选项。选择“PyDev-PYTHONPATH” 在右侧,您将看到一个标签窗口。在那里选择外部库。 单击“添加源文件夹”,然后从上面的路径中选择您的库。