Eclipse Oxygen上的Pydev(python 3):“pip”无法使用已安装的软件包

时间:2018-02-07 21:26:15

标签: python eclipse pip pydev

pip对于python 3.6.4(在Oxygen上),但不再列出任何已安装的软件包,例如: pipwhee l,pyodbc。但是从(DOS)命令行运行pip会列出所有预期的包。并且为共同安装的3.5.1列出了所有预期的包(请参阅首选项 - > Pydev - > Interpreters-> Python解释器 - 或者右键单击项目的图标并选择属性)。
环境是64位Win 7 Enterprise SP1。两个解释器中的所有包都是使用Eclipse外部的pip手动安装的。字长(32或64位)没有什么区别。

所有应用程序在3.6.4下的氧气下正常运行。一个奇怪的(和可能的红鲱鱼)可能是一个线索是所有解释器(因为Helios,如果不是更早)一直标记我的import pyodbc行是一个错误 - 但所有具有“错误”的应用程序工作没有任何问题。

Eclipse Mars也在机器上,它使用与Oxygen相同的python安装文件夹。从问题的时间开始,我怀疑在我不得不使用火星之后就开始出现点子问题了(这可能对普通的安装文件夹造成了影响,这会破坏Oxygen的设置)。但是我尝试使用3.5.1复制问题,但问题没有再次发生。

我已经尝试了一切相当明显的东西,没有弄乱Eclipse内部/文件夹,包括从Oxygen删除所有解释器,然后在冷启动我的机器后重新创建它们(在同一文件夹中)。运行文件系统同步检查(在Preferences - > Pydev - > Interpreters中找到)没有帮助。

我在Oxygen(和Mars)有很多项目。如果没有重新安装,是否有一种相当简单的方法可以让3.6.4 pip在氧气上正常工作 - 请注意我必须保持火星安装以维持其他项目?

1 个答案:

答案 0 :(得分:0)

此问题在pydev跟踪器(https://www.brainwy.com/tracker/PyDev/

上以问题896提交

解决方法的一个线索是,当我使用" bad"时,没有出现错误消息。 3.6.4口译员,所有出现的都是"完成"信息。

我删除了" .eclipse"来自我的" C:\ users \ username"从Eclipse中删除所有python解释器的文件夹。接下来,使用适当的pydev安装包从我的系统中卸载两个3.6.4解释器(直到使用安装程序修复它们之后才能删除它们。)

重新启动系统并打开Eclipse。我们重新安装的3.5.1解释器都没有任何问题(pip列出了预期的包:pip,wheel等)。然后尝试安装3.6.4的两个版本。两次显示pip消息区域:

Traceback (most recent call last):
  File "c:\python364\32bit\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\python364\32bit\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Python\3.6.4\32bit-bad pip\Scripts\pip.exe\__main__.py", line 5, in <module>
ModuleNotFoundError: No module named 'pip'
FINISHED

请注意,前两行错误地引用&#34; python364&#34;而不是正确的安装位置(&#34; python \ 3.6.4&#34;,如最后一行所示)。 &#34; c:\ python364&#34;文件夹是之前尝试安装3.6.4的保留;该文件夹还包含一个包含32位3.6.4解释器的子文件夹。

总结解决问题的事件顺序:

1)删除了&#34; .configure&#34;我的主文件夹中的子文件夹(可能还不需要)
2)从Eclipse中删除了所有4个解释器 3)删除了以前的3.6.4 python安装中的所有工件 4)使用适当的pydev安装包进行修复,然后从我的系统中删除两个错误的解释器 5)删除&#34; .eclipse&#34;来自我的主文件夹。
6)重新启动我的机器并将所有4个解释器安装到Eclipse中 7)问题已解决。所有4个解释器的pip现在列出了所有预期的包。