2011-05-20 134 views
15

我在Eclipse上获取PyDev以识别已安装的模块时出现问题。这是我详细的方法。该机器是一台Mac(雪豹)。在eclipse中向Python中的pydev添加python模块会导致导入错误?

在终端的命令

python --version 

显示的Python 2.6.6

import unidecode 

from unidecode import unidecode 

工作都很好!

我在Eclipse中安装了PyDev并去配置python解释器(自动配置)。我选择了所有建议的套餐并打申请好吧

但是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 

蟒蛇文件看起来像这样

#!/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 

它导致到了同样的错误。

有人知道问题出在哪里吗?

+1

你使用的是virtualenv吗? – cerberos 2011-05-20 10:17:28

+0

@cerberos:不是我所知。 :-) – Aufwind 2011-05-20 10:28:38

+0

它适用于我没有任何特殊设置 – joaquin 2011-05-20 10:31:40

回答

25

这是解决我的问题:

  1. 找出路径,你相应的Python版本的文件夹../site-packages/。 (对我来说是/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/在我的Mac上SNOE豹蟒蛇2.6。)
  2. 打开Eclipse首选项,然后转到PyDev的 - >解释 - Python的。请点击新文件夹
  3. 将相应的python版本导航到../site-packages/
  4. Hit open
  5. Hit Apply
  6. Hit Ok

你应该很好去。 =)

谢谢@all particionts,他们在评论中向正确的方向提供了提示。

+0

不要忘记检查那里有东西:)例如scipy没有安装默认的python安装 – Elendurwen 2014-04-23 16:12:57

+0

仍然有效。但另外重新启动eclipse对我来说是必要的。 – Chris 2014-09-30 13:27:49

0

尝试使用首选项> pydev> interpreter - python并删除并重新添加python解释器(确保在删除它之前知道它的路径),重新添加时勾选所有框。

+0

我已经这样做了。它没有帮助。我自己找到了解决方案,但是谢谢你的努力。 =) – Aufwind 2011-05-20 19:48:58

2

就在今天我遇到了同样的问题。我正在使用pydev并且有一个包含许多子包的工作项目。突然在创建了一个新模块后,我无法在不同的包中使用该模块。令人费解的特点是,我可以后

  1. 日食重启
  2. 删除/添加Python解释器和所有站点包
  3. 恼火使用另一个模块在同一子包...

    最后头刮

我删除了所有编译的类与下面的脚本:

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) 

最后我能做的“实际”工作:) 希望它可以帮助别人......

-1

假设你永远的模块处于/。

启动Eclipse并转到项目选项。选择“PyDev-PYTHONPATH” ,在右边你会看到一个标签窗口。在那里选择外部库。 单击添加源文件夹并从上述路径中选择您的库。

0

@Aufwind你的答案上面的帮助,但没有解决我。

  • 找到文件夹的路径../site-packages/ ....
  • 打开Eclipse首选项,去的PyDev - >解释器 - Python的。
  • 在下方框的左侧,单击新建文件夹。 --->这里我离开了你的指示。我为未被识别的模块添加了鸡蛋。添加站点包文件夹没有解决它。
  • 打开。
  • 点击应用。
  • 点击确定。

然后我很好走。 =)

1

当Eclipse在您的系统或项目中存在哪些软件包时,从项目的上下文菜单中选择'丢失',选择'Properties'菜单项,然后选择'PyDev - PYTHONPATH'项目对话框左侧的树形视图,然后是“强制恢复内部信息”按钮。看起来,PyDev会保存信息的计算缓存,并且由于任何原因缓存变得不连贯,您可以强制PyDev重新计算。

1

您可以简单地将模块添加到pydev路径。转到项目属性(从上下文菜单) - > PyDev - > PYTHONPATH - >外部库。根据模块是否位于源文件夹或zip/egg文件中,选择添加源文件夹或添加zip/jar/egg。导航到site-packages目录并指向相关的文件或文件夹(我的是:/usr/local/lib/pythonx.x/site-packages)

+0

谢谢!尝试了这么多的解决方案,在重新启动eclipse之后(使用python3),这终于实现了这个诀窍。5在Ubuntu虚拟机中) – sc28 2018-01-27 00:26:30

1

在我的情况下,我在编译之前没有收到这个错误,但是当我编译时,我得到了错误ImportError:没有名为myant.core的模块。我试图从PyDev-PYTHONPATH添加文件,但我又得到了同样的错误。然后我意识到我实际上不必将路径完全添加到我的.py文件所在的文件夹。事实上,我必须添加myant.core所在的文件夹。这样做后,我重新编译我的项目时重新启动,问题已修复。我想分享我:

Python 2.7 Eclipse kepler 4.3, PyDev 3.9.2 and on my ubuntu 14.04

的.py文件地点:/${PROJECT_DIR_NAME}/src/myant/core,所以我加了/${PROJECT_DIR_NAME}/src

0
  1. 打开Eclipse窗口 - >首选项,去的PyDev - >解释。
  2. 点击“检查口译与环境同步”

这为我做。无需重新启动Eclipse。

0

我通过转到项目属性 - > PyDev Django 并设置Django设置模块来解决了这个问题。 enter image description here

0

氧气2(我认为它的工作在早期版本中,太)...

  1. 右键单击项目文件夹,选择 “属性”
  2. 选择出“PyDev - 翻译/语法“
  3. 单击‘单击此处以配置没有列出’
  4. 从配置口译的顶部列表中选择任何现有的翻译的解释
  5. 应出现“需要选择”对话框,您必须选择一个或多个解释程序进行还原。检查所有适用
  6. 点击“确定”和PyDev的重新扫描,并且我认为,重建你的站点包内部的一些看法
  7. 单击“应用并关闭”关闭所有对话框

要使导入错误标记消失在我的代码编辑器中,我需要在违规导入后输入空格然后保存更改。导入错误然后消失,因为PyDev现在可以找到有问题的导入模块。