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 Zadrozny 和 nicodjimenez。
【讨论】:
【参考方案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 说,“未解决的导入”错误的主要内容,如果未能解决你的问题,请参考以下文章