使用pyenv创建虚拟环境时遇到麻烦。
这很好:
$ pyenv local 3.6.0
$ python
>>> Python 3.6.0 (default, Jul 21 2019, 14:03:29)
>>> [GCC 4.2.1 Compatible Apple LLVM 10.0.1 (clang-1001.0.46.4)] on darwin
>>> ...
但是,当我创建一个虚拟环境(假定使用Python 3.6.0完成)并激活它时,我得到了Python 3.7.4。如果我使用python3.6 -m venv venv
,也会发生同样的情况。
$ python -m venv venv
$ source venv/bin/activate
$ python
>>> Python 3.7.4 (default, Jul 9 2019, 18:13:23)
>>> [Clang 10.0.1 (clang-1001.0.46.4)] on darwin
我想用一个虚拟的环境创建一个与pyenv当前处于活动状态的版本相同的虚拟环境。我在这里想念什么?
我系统中的一些信息:
python3
的默认版本。python
,则会获得Python 2.7.16解释器。答案 0 :(得分:0)
如果仅在未在外壳中激活pyenv的情况下调用python,则会获得Python 2.7.16解释器。
这意味着pyenv
中的垫片不会添加到PATH
环境中。
pyenv
需要在shell conf中使用以下代码进行初始化,
if command -v pyenv &>/dev/null; then
eval "$(pyenv init -)"
fi
if command -v pyenv-virtualenv &>/dev/null; then
"$(pyenv virtualenv-init -)"
fi
然后,重新启动您的Shell。 pyenv
将按预期工作。
从项目的仓库中查看basic setup from pyenv
,了解更多信息。
答案 1 :(得分:-2)
我写过here,您应该做的是:
virtualenv -p /path/to/your/python/version/exectuable ENV