Python 如何在Eclipse中使用Pyenv virtualenv?

Python 如何在Eclipse中使用Pyenv virtualenv?,python,eclipse,makefile,virtualenv,pyenv,Python,Eclipse,Makefile,Virtualenv,Pyenv,我正在Linux上使用Eclipse开发C应用程序,我的构建系统使用了make和python。我有一个自定义的virtualenv,由pyenv安装和管理,如果我使用pyenv shell myvenv预先选择virtualenv,它可以从命令行正常工作 但是,我希望Eclipse在从Eclipse中构建(通过“现有makefile”)时使用这个virtualenv。目前,它运行我的Makefile,但在/usr/bin/python中使用系统python,它缺少构建系统所需的所有包 我不清楚如

我正在Linux上使用Eclipse开发C应用程序,我的构建系统使用了
make
python
。我有一个自定义的virtualenv,由
pyenv
安装和管理,如果我使用
pyenv shell myvenv
预先选择virtualenv,它可以从命令行正常工作

但是,我希望Eclipse在从Eclipse中构建(通过“现有makefile”)时使用这个virtualenv。目前,它运行我的Makefile,但在
/usr/bin/python
中使用系统python,它缺少构建系统所需的所有包

我不清楚如何配置Eclipse以使用自定义Python解释器,如我的virtualenv中的解释器。我听说过设置
PYTHONPATH
,但这似乎是为了查找站点包,而不是解释器本身。我的virtualenv基于Python3.7,我的系统python是2.7,因此单独设置它可能不起作用

我没有使用PyDev(这是一个C项目,不是Python项目),因此Eclipse中没有对Python的明确支持。如果我能帮上忙,我宁愿不安装PyDev


我注意到pyenv在激活时将其
插件
垫片
bin
目录添加到路径中。我可以显式地将这些添加到Eclipse中的PATH中,以便Eclipse使用pyenv来查找解释器。但是,我更愿意直接指向特定的virtualenv,而不是使用pyenv机制来查找当前的virtualenv。

对于我来说,以下步骤是有效的(mac os 10.12,eclipse光子版本,带有pydev插件)

  • 项目->属性
  • Pydev解释器/语法
  • 单击此处配置未列出的解释器(在“解释”组合框下)
  • 打开解释器首选项页面
  • 浏览python/pypy-exe->my virtualenvdirectory/bin/python
  • 然后,所选择的python解释器路径应该显示出来(对我来说,它仍然没有指向我的虚拟环境,但我在这里显式地键入了我的路径,它工作了)
  • 在底部的库部分,您应该能够从虚拟环境中看到站点包


    额外提示-在我的mac os中,虚拟环境以.pyenv开头,因为它是一个隐藏目录,所以我无法选择此目录,并且我不知道如何在eclipse文件资源管理器中查看隐藏目录。因此,我创建了一个到隐藏目录(.pyenv)的软链接(名称中没有任何.),然后我能够为我选择软链接,以下步骤奏效(mac os 10.12,eclipse光子版本,带有pydev插件)

  • 项目->属性
  • Pydev解释器/语法
  • 单击此处配置未列出的解释器(在“解释”组合框下)
  • 打开解释器首选项页面
  • 浏览python/pypy-exe->my virtualenvdirectory/bin/python
  • 然后,所选择的python解释器路径应该显示出来(对我来说,它仍然没有指向我的虚拟环境,但我在这里显式地键入了我的路径,它工作了)
  • 在底部的库部分,您应该能够从虚拟环境中看到站点包


    额外提示-在我的mac os中,虚拟环境以.pyenv开头,因为它是一个隐藏目录,所以我无法选择此目录,并且我不知道如何在eclipse文件资源管理器中查看隐藏目录。因此,我创建了一个指向隐藏目录(.pyenv)的软链接(名称中没有任何.),然后我可以选择软链接,键入CMD+SHIFT+。将在任何Mac finder对话框中显示以点开头的点文件和目录…

    键入CMD+SHIFT+。将在任何Mac finder对话框中显示以点开头的点文件和目录…

    我也遇到了同样的问题,经过一些挖掘,有两种解决方案;项目范围和工作空间范围。我更喜欢整个项目,因为它将保存在git存储库中,而下一个人不必发号施令

    对于整个项目,在“项目属性>C/C++构建>环境>路径”的开头添加
    /Users/${USER}/.pyenv/shimmes:


    我无法完全理解另一种方法(主要是因为我对另一种方法很满意),但应该可以修改“Eclipse首选项>C/C++>构建>环境”。您应该更改单选按钮并添加路径变量。

    我也遇到了同样的问题,经过一些挖掘,有两种解决方案;项目范围和工作空间范围。我更喜欢整个项目,因为它将保存在git存储库中,而下一个人不必发号施令

    对于整个项目,在“项目属性>C/C++构建>环境>路径”的开头添加
    /Users/${USER}/.pyenv/shimmes:


    我无法完全理解另一种方法(主要是因为我对另一种方法很满意),但应该可以修改“Eclipse首选项>C/C++>构建>环境”。您应该更改单选按钮并添加PATH变量。

    PYTHONPATH
    设置为
    /home/user/.pyenv/versions/myvenv/lib/python3.7/site packages
    似乎完成了构建,但我不确定它是否基于此目录找到了正确的python解释器-可能吗?设置
    PYTHONPATH
    会影响实际使用的解释器吗?或者仅仅是可供导入的包?将
    PYTHONPATH
    设置为
    /home/user/.pyenv/versions/myvenv/lib/python3.7/site-packages
    似乎完成了构建,但我不确定它是否基于此目录找到了正确的python解释器-可能吗?设置
    PYTHONPATH
    会影响实际使用的解释器吗?或者只是可供导入的软件包?问题已经明确说明没有使用pydev。问题已经明确说明没有使用pydev。这与任何事情有什么关系?这有什么关系