【问题标题】:virtualenv python - using Pydev with Eclipse neonvirtualenv python - 将 Pydev 与 Eclipse 霓虹灯一起使用
【发布时间】:2017-04-03 01:56:31
【问题描述】:

所以我只是碰壁了,似乎在这个问题上没有取得任何进展。 我刚刚使用 Python 3.5 的 venv 创建了一个名为 test 的 virtualenv。我可以从终端窗口激活它并停用它。到目前为止,一切都很好。我还看到 test/bin 中的 python 解释器实际上是我在 /Users/LV/anaconda/bin/python3.5 下的原始 python 3.5 安装的符号链接

我的问题是我想处理一个项目并将其站点包文件夹与其他项目分开。我使用 Eclipse 和 Pydev。所以我创建了一个示例项目,当我尝试将 python 解释器更改为 test/bin/python 时,它是一个符号链接,它给了我一个错误,我不能两次使用同一个解释器。好吧,我并不真正关心解释器,但问题是我原来的 python 安装下的 site-packages 下的所有包仍然可供我使用。我在哪里告诉它我需要从外部包重新开始,而不一定要使用现有的包?我做错了什么?

非常感谢

【问题讨论】:

    标签: python eclipse virtualenv pydev


    【解决方案1】:

    在 PyDev 中,您可以直接指向虚拟环境中的 Python。

    即:说你有

    /venv
    /venv/env1/bin/python
    /venv/env2/bin/python2
    

    指向/venv/env1/bin/python/venv/env2/bin/python2 应该可以解决问题...

    现在,为了不获取原始站点包,venv 也不应该访问它(我不记得它的命令行,但据我记得你可以指定它是否应该有自己的站点包)。

    即:如果您从命令行运行:

    import sys;print('\n'.join(sorted(sys.path)))

    它应该只有您期望它拥有的路径(有或没有原始站点包)。

    【讨论】:

    • 嗯,这正是我尝试过的,但它不工作..所以我最初有 /Users/LV/anaconda/bin/python3.5,我试图创建另一个名为 test 的虚拟环境。在 test/bin/ 中,python 是 /Users/LV/anaconda/bin/python3.5 的符号链接。 Pydev 正在考虑作为同一个解释器,不会让我再次创建相同的解释器,这对我来说很好。我不一定需要新的解释器,但是如何使我的虚拟环境的站点包与我原来的站点包不同?
    • 您究竟是如何创建 virtualenv(即:命令行)?
    • 是的,我正在使用命令行来创建它。我正在运行的命令是 python -m venv test
    • 我必须说我只是测试了您的确切步骤并且无法重现您的问题(即:当我使用 python3.5 -m venv test 创建解释器并将该解释器添加到 PyDev 时,它没有重用原始站点包,只有“lib”包,这是预期的——而且,它允许在不解析符号链接的情况下添加新的解释器)......所以,我猜你使用的是旧的 PyDev 版本(它解决了这些符号链接,不能与 virtualenvs 一起使用)。所以,请升级 PyDev(您可以在首选项 > PyDev 中查看当前版本)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-14
    • 2013-10-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多