当前位置: 首页 > 知识库问答 >
问题:

针对 Eclipse 的 PyDev - 解决 Python 依赖项(未解析的导入)

束帅
2023-03-14

我正在使用用于 Eclipse 的 PyDev 作为我的 IDE 和 pip 作为我的包管理工具,运行虚拟环境。

每次我想在我的项目中使用/包含一些新库或新依赖项时,我都会将它们添加到pip requires文件中。在运行pip安装后,依赖项安装在我的虚拟环境中没有问题-r pip需要

我的环境:

  • Ubuntu 12.04
  • PyDev for Eclipse2.7.1.2012100913
  • Python 2.7.3
  • 日蚀靛蓝

更新:我的皮德夫设置:

问题:

  • eclipse/pydev对我的虚拟环境中正在添加的新库一无所知。我不得不手动将.egg源文件夹逐个添加到eclipse项目的PYTHONPATH中,以解决所有未解决的导入问题,这非常烦人!Python依赖关系能否以更简单的方式解决?

更新:

    < li >我发现,如果我使用virtual Env < code > Env/bin/python 作为解释器,如截图所示,eclipse中的一些基本模块无法解析,例如< code>import copy,import json等。我是否应该使用默认的< code>/usr/bin/python作为解释器,并且只将虚拟env site-package添加到PYTHONPATH中?这样我就可以解析标准的python库(比如json)和我自己的项目依赖关系了?

共有3个答案

金承嗣
2023-03-14

这就是我使用虚拟env设置PyDev的方式:

  1. /home/anshumanb/.virtualenvs/myvenv 创建一个虚拟环境
  2. 在日食,窗口

在这之后,每当我在virtualenv中安装任何包时,我都会返回到解释器- Python屏幕,点击Apply,选择指向我的virtualenv(以及我刚刚安装包的那个)的解释器,然后点击Apply。PyDev然后获取安装在virtualenv中的任何新包。

注意:我使用的是PyDev 2.7.1和Python 2.7.3,但是是在装有Eclipse 4.2.1的Arch Linux机器上。但我不认为会有什么不同。

梅宏盛
2023-03-14

从你的问题中,我了解到你正在手动将Python Egg包添加到路径中。与其这样做,不如转到项目设置窗口,然后打开“PyDev-PYTHONPATH”,导航到名为“外部库”的面板,并添加虚拟环境的整个site-pack文件夹,通常是/path/to/Virtual alenv/lib/site-pack/。这样您就不会为每个包逐个添加Eggs。安装新包时,只需转到Eclipse窗口,如果导入仍未解决,请选择项目并按F5键刷新项目。

希望这对你有用。祝你好运。

饶谦
2023-03-14

然后,您无需将它们逐个添加到PYTHONPATH中。您将需要重新启动日食(刷新不起作用)。将添加新型号。

更新:我检查了virtualenv中的PYTHONPATH。我发现sys.path中还有一些其他的路径,它们是系统默认的python安装位置。这些路径包括基本模型,如< code>copy和< code>json。

PS:我的环境是Max OSX 10.8。请通过print sys.path检查您自己平台的输出

/Users/username/.virtualenvs/test/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg
/Users/username/.virtualenvs/test/lib/python2.7/site-packages/pip-1.1-py2.7.egg
/Users/username/.virtualenvs/test/lib/python27.zip
/Users/username/.virtualenvs/test/lib/python2.7
/Users/username/.virtualenvs/test/lib/python2.7/plat-darwin
/Users/username/.virtualenvs/test/lib/python2.7/plat-mac
/Users/username/.virtualenvs/test/lib/python2.7/plat-mac/lib-scriptpackages
/Users/username/.virtualenvs/test/lib/python2.7/lib-tk
/Users/username/.virtualenvs/test/lib/python2.7/lib-old
/Users/username/.virtualenvs/test/lib/python2.7/lib-dynload
/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7
/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin
/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk
/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac
/usr/local/Cellar/python/2.7.3/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages
/Users/username/.virtualenvs/test/lib/python2.7/site-packages

我觉得这是virtualenv的要求。您需要将这些路径添加到pydev系统PYTHONPATH中。然后你就可以使用这些基本模块了。

 类似资料:
  • 当我试图导入依赖项时,我收到以下错误: 请帮帮我,我哪里错了? 事先谢谢你

  • 我想使用hbase hortonworks连接器。github指南 但是我不知道如何在我的项目中导入它。我有以下build.sbt: 它给出了以下未解决的依赖关系: 错误:导入SBT项目时出错: [警告]==本地:尝试[警告]常春藤。xml[警告]==公共:已尝试[警告] https://repo1.maven.org/maven2/com/hortonworks/shc/1.1.2-2.1-s_

  • 导入SBT项目时出错: ... 关于如何解决这个问题的任何建议。导入在另一台机器上运行良好。我看到了.ivy2文件夹中的jar文件。

  • 我正在尝试解决我的eclipse项目中的maven依赖项。 依赖项已经下载到我的maven dependencies文件夹中(如下所示) 然而,import语句仍然没有解析。 在我的java构建路径中,存在Maven Dependencies文件夹。 到目前为止,我已经尝试在命令行上重建项目并在eclipse中刷新它;我尝试在eclipse中重建它;我尝试在eclipse中更新项目。 似乎什么都没

  • 我正在尝试检索Google Reporting API的库: 但是我收到了一个未解决的依赖项错误,我不知道该怎么办: 我检查了.grails\ivy-cache\文件夹,有一个公共编解码器文件夹,里面有共享资源编解码器1.5的罐子,几个xml文件常春藤-1.5.xml和常春藤-1.6.xml和常春藤数据-1.5.属性和常春藤数据-1.6.属性。我也试图删除整个常春藤缓存文件夹,但结果是一样的。