pyenv如何使虚拟环境正常工作?

时间:2019-02-10 23:25:19

标签: python python-3.x virtualenv pyenv

我正在尝试使用QGIS,这需要python 3.6.x。

我在Mac上已经有python 2.7和3.7的系统上。

我尝试过

brew update
brew install pyenv
brew install pyenv-virtualenv
pyenv install 3.6.5

它安装得很好。然后,当我尝试激活

pyenv activate my-virtualenv

我收到此错误

  

无法激活virtualenv。

     

也许pyenv-virtualenv尚未正确加载到您的shell中。   请重新启动当前的Shell,然后重试。

我再次尝试

exec $SHELL
pyenv activate my-virtualenv

并收到相同的错误。

我在bash-3.2$和常规终端中执行了该命令

if which pyenv-virtualenv-init > /dev/null; then eval "$(pyenv virtualenv-init -)"; fi

我仍然遇到相同的错误。如何获得使用python 3.6的运行环境?

3 个答案:

答案 0 :(得分:0)

在激活之前,您需要使用my-virtualenv或其他可用的虚拟环境工具之一实际创建pyenv-virtualenv。假设您在问题中引用了pyenv-virtualenv,下面是一个示例:

pyenv virtualenv 3.6.5 my-virtualenv-3.6.5

这将创建一个名为my-virtualenv-3.6.5的虚拟环境,其中包含Python 3.6.5。

当然,您可以为自己的环境命名({my-virtualenv很好), but it's never a bad idea to name things for your future self, because that person won't necessarily remember what it was for. You might consider QGIS-virtualenv-3.6.5`,实际上是针对此特定应用程序的。

pyenv virtualenv 3.6.5 QGIS-virtualenv-3.6.5

有了虚拟环境后,请继续执行操作

pyenv activate QGIS-virtualenv-3.6.5

(或您选择的任何虚拟环境名称。

答案 1 :(得分:0)

初始化pyenv

exec $SHELL
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
pyenv activate my-virtualenv

要保存一些输入内容,请将其添加到您的.bashrc

eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

答案 2 :(得分:0)

尝试一下: 进入终端,

  1. 写:nano ~/.bashrc

  2. 最后添加:

eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
  1. 退出并保存
  2. 在终端中输入:源~/.bashrc

仅此而已,这对我有用。