Pydev 说,“未解决的导入”错误

Posted

技术标签:

【中文标题】Pydev 说,“未解决的导入”错误【英文标题】:Pydev say, "Unresolved import" error 【发布时间】:2011-11-09 01:32:58 【问题描述】:

嗯.. 有时,PyDev 会说“未解决的导入错误”。 在我的环境中

Python2.6.6 Eclipse3.7 PyDev2.2.2

错误是。

> Unresolved import: pycassa  -> import pycassa Unresolved import:
> WebSocketHandler  -> from geventwebsocket.handler import
> WebSocketHandler Unresolved import: tweepy  -> import tweepy

有什么有用的信息吗?

【问题讨论】:

一个重复的问题:***.com/questions/4631377/… - 尝试“删除 PyDev 项目配置”(右键单击项目 -> PyDev) 【参考方案1】:

遇到了同样的问题。最后,我能够通过在 Preferences > PyDev > Interpreters 中删除我的旧解释器并创建一个名为“python”的具有正确路径的新解释器来解决问题。退出并重新打开 Eclipse 后,pydev 找到了我所有的模块。

【讨论】:

【参考方案2】:

可能您的 PYTHONPATH 设置不正确(或者如果这些是解释器中的库,则可能是您在配置后添加的)。

请参阅:http://pydev.org/manual_101_interpreter.html 以获取参考资料(请注意那里的强制内置部分,因为这可能是您的情况)。

【讨论】:

对于 pyodbc 将其添加到强制内置列表中为我解决了这个问题。将 pyodbc 的 egg-info 文件夹添加到 PYTHONPATH 没有。【参考方案3】:

如果找不到所需的模块,您会得到一个未解析的导入。在当前工作目录和 sys.path 中列出的目录中搜索模块。你的 python 找不到模块 pycassa 和它出现的 tweepy。

可能想检查一下:http://klaith.wordpress.com/2009/06/12/pydev-unresolved-import-errors/

【讨论】:

hhm,但是我可以正常运行myscript。问题仅针对“PyDev”。我可以运行那个脚本,我可以通过使用“IDLE”来导入这样的模块【参考方案4】:

我通过重新创建解释器来解决。 pedev.org有指南:

如果我在配置后在我的系统 PYTHONPATH 中添加一些新内容怎么办 是吗?

如果你在你的 python 安装中添加一些东西,你需要要么 在系统 PYTHONPATH 中手动将其添加为“新文件夹”(如果是 仍然不在 PYTHONPATH 中的文件夹下)或(推荐)删除 您的解释器并再次添加它,然后按应用。

请注意,如果您添加的库已经位于 PYTHONPATH,您至少必须转到解释器首选项和 按应用,以便清除其内部缓存(在 配置完成,PyDev 的一切都一成不变)

感谢 Fabio Zadroznynicodjimenez

【讨论】:

【参考方案5】:

我之前也遇到过类似的问题。我通过以下步骤解决了问题:

1)Window > Preferences > PyDev > Interpreters > Python Interpreter

2)删除之前添加的Python解释器路径

3)添加“新”Python解释器并选择python.exe路径

4)检查库选项卡(我在这一步发现了问题。) 检查你的路径名,是真的还是假的? Eclipse 检测到“C:\Python27\lib”,但它应该是“C:\Python27\libs”和“C:\Python27\Lib”。

【讨论】:

【参考方案6】:

pycassa 是否在您的 PYTHONPATH 目录中作为符号链接找到? Pydev 显然有一个错误,它的代码分析无法遵循符号链接(因此不会看到您的库)。 python 解释器当然可以。

【讨论】:

【参考方案7】:

我在使用 dbfpy 模块时遇到了类似的问题。

    我已经下载了 tar 存档并将源文件安装在 /usr/lib/python2.7/dist-packages 中

    有了这个,我可以在 IDLE 中导入包,甚至可以在 Eclipse 中运行代码。但是,pydev 导入仍然显示为错误,并显示消息“未解析的导入”

    按照 Fabio 的建议,我检查了 PyDev 文档中的强制内置函数。只需添加包的名称(在我的例子中是“dbfpy”到 Eclipse 中 Python Interpretr 的 Forced Builtit 选项卡)就解决了这个问题。

【讨论】:

【参考方案8】:

(我知道答案有点晚了) 如果你安装了一个 python 包,例如: pip install django 我这样做解决了未解决的导入问题: 在日食中: 窗口 > 首选项 在左侧面板树结构中转到: PyDev > 解释器 - Python 在右上角的面板中,确保选择了正确的解释 并在右下角面板中,单击新建文件夹,导航到您的 python 安装站点包(通常在 c:\Python33\Lib\site-packages 中)并搜索以 .egg-info 结尾的文件夹 在我的电脑中它是“C:\Apps\Environments\Python33\Lib\site-packages\Django-1.5.4-py3.3.egg-info”,因为我在 C:\Apps\Environments 中安装了 python,应该不同在你的情况下。 这适用于 django 和 selenium,也应该适用于所有其他人(据我所知)

【讨论】:

【参考方案9】:

在PyDev中添加对应的以'.egg-info'结尾的包文件夹>解释器-Python-库即可解决问题。

在Linux中,通常在/usr/local/lib/pythonX.X/dist-packages下

【讨论】:

【参考方案10】:

在环境变量中添加站点包路径。

右击

计算机 -> 属性 -> 高级系统设置 -> 环境 变量

.

完成后,删除python解释器并在eclipse中再次添加。 在

中右键项目名称

eclipse --> 属性 --> python 解释器

.

希望它有效。

【讨论】:

【参考方案11】:

在您的 pydev 项目的属性中,有一个名为“PyDev - PYTHONPATH”的窗格,以及一个名为“外部库”的子窗格。您可以使用该窗格将源文件夹(任何具有 init.py 的文件夹)添加到路径中。然后,您的项目代码将能够从这些源文件夹中导入模块。 检查这两个链接可能对您有帮助, Unresolved Import Issues with PyDev and Eclipse

Unresolved import: models

【讨论】:

以上是关于Pydev 说,“未解决的导入”错误的主要内容,如果未能解决你的问题,请参考以下文章

PyDev 和 Eclipse 未解决的导入问题

如何清除未解决的导入'cv2'错误?

Visual Studio Code 中的 Pylint“未解决的导入”错误

文档示例中未解决的导入

PyDev 说来自导入的未定义变量:AF_INET

Eclipse,PyDev“未指定项目解释器”