Pyenv-virtualenv是一个Pyenv插件,可为Unix型系统上的Python管理VirtualEnvs和Conda环境提供功能。
(注意:如果您是Virtualenvwrapper的现有用户,并且喜欢它,则Pyenv-Virtualenvwrapper可能会帮助您(此外)管理Virtualenvs。)
这将将最新的开发版本的Pyenv-Virtualenv安装到$(pyenv root)/plugins/pyenv-virtualenv
目录中。
重要说明:如果将PYENV安装到非标准目录中,请确保将此仓库克隆到安装到何处的“插件”目录中。
从该目录内部可以:
git pull
获取最新的开发版本,以下载最新的更改。在插件目录中查看pyenv-virtualenv
git clone https://github.com/pyenv/pyenv-virtualenv.git $( pyenv root ) /plugins/pyenv-virtualenv
对于鱼壳:
git clone https://github.com/pyenv/pyenv-virtualenv.git (pyenv root)/plugins/pyenv-virtualenv
(可选)将pyenv virtualenv-init
添加到您的外壳中,以使Virtualenvs自动激活。这是完全可选的,但非常有用。请参阅下面的“激活Virtualenv”。
echo ' eval "$(pyenv virtualenv-init -)" ' >> ~ /.bashrc
鱼壳注意:将其添加到您的~/.config/fish/config.fish
中
status --is-interactive ; and pyenv virtualenv-init - | source
ZSH注意:修改您的~/.zshrc
文件,而不是~/.bashrc
。
重新启动您的外壳以启用pyenv-virtualenv
exec " $SHELL "
MACOS用户可以使用Homebrows Package Manager安装Pyenv-Virtualenv。这将使您访问pyenv-virtualenv
命令。如果已安装了Pyenv,则还可以使用pyenv virtualenv
命令。
如果您使用自制pyenv安装了Pyenv,这是推荐的安装方法。
brew install pyenv-virtualenv
或者,如果您想安装最新的开发版本:
brew install --HEAD pyenv-virtualenv
安装后,您仍然需要执行pyenv shell设置步骤,然后添加
eval " $( pyenv virtualenv-init - ) "
到您的Shell的.rc
文件(如警告中所述)。您只需要这样做一次。
pyenv virtualenv
与Pyenv一起使用要为Pyenv使用的Python版本创建Virtualenv,请运行pyenv virtualenv
,指定所需的Python版本和Virtualenv Directory的名称。例如,
pyenv virtualenv 2.7.10 my-virtual-env-2.7.10
将在$(pyenv root)/versions
中创建一个称为my-virtual-env-2.7.10
的文件夹。
pyenv virtualenv
将实际创建虚拟环境( conda
, virtualenv
或python -m venv
)的基础命令转发到基础命令。有关详细信息,请参见pyenv virtualenv --help
的输出。
如果仅给pyenv virtualenv
提供一个参数,则将根据当前的Pyenv Python版本创建Virtualenv。
$ pyenv version
3.4.3 (set by /home/yyuu/.pyenv/version)
$ pyenv virtualenv venv34
pyenv virtualenvs
向您展示了现有Virtualenvs和conda
环境的列表。
$ pyenv shell venv34
$ pyenv virtualenvs
miniconda3-3.9.1 (created from /home/yyuu/.pyenv/versions/miniconda3-3.9.1)
miniconda3-3.9.1/envs/myenv (created from /home/yyuu/.pyenv/versions/miniconda3-3.9.1)
2.7.10/envs/my-virtual-env-2.7.10 (created from /home/yyuu/.pyenv/versions/2.7.10)
3.4.3/envs/venv34 (created from /home/yyuu/.pyenv/versions/3.4.3)
my-virtual-env-2.7.10 (created from /home/yyuu/.pyenv/versions/2.7.10)
* venv34 (created from /home/yyuu/.pyenv/versions/3.4.3)
每个Virtualenv有两个条目,而较短的条目只是一个符号链接。
某些外部工具(例如JEDI)可能需要您activate
Virtualenv和conda
环境。
如果在您的外壳中配置了eval "$(pyenv virtualenv-init -)"
,则pyenv-virtualenv
将自动激活/停用virtualenvs在输入/离开目录上,其中包含一个.python-version
文件,其中包含一个有效的虚拟环境的名称,如在pyenv virtualenvs
的输出中显示(例如,上面的示例中,例如, venv34
或3.4.3/envs/venv34
)。 Pyenv使用.python-version
文件来表示本地Python版本,并且可以使用pyenv local
命令创建和删除。
您还可以手动激活和停用Pyenv Virtualenv:
pyenv activate < name >
pyenv deactivate
删除$(pyenv root)/versions
和$(pyenv root)/versions/{version}/envs
中的目录,将删除Virtualenv,或者您可以运行:
pyenv uninstall my-virtual-env
您还可以使用virtualenv-delete
命令删除现有的Virtualenvs,例如可以运行:
pyenv virtualenv-delete my-virtual-env
这将删除称为my-virtual-env
的Virtualenv。
有一个可用于CPYTHON 3.3的VENV模块,更新。它提供了可执行的模块venv
该模块VENV是virtualenv
的后继产品,默认情况下分发。
如果可用,则使用pyenv-virtualenv
使用python -m venv
,并且virtualenv
命令不可用。
您可以通过conda create
来管理与标准Anaconda/Miniconda安装一样相同的方式来管理conda
环境。要使用这些环境,您可以使用pyenv activate
和pyenv deactivate
。
$ pyenv version
miniconda3-3.9.1 (set by /home/yyuu/.pyenv/version)
$ conda env list
# conda environments:
#
myenv /home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv
root * /home/yyuu/.pyenv/versions/miniconda3-3.9.1
$ pyenv activate miniconda3-3.9.1/envs/myenv
discarding /home/yyuu/.pyenv/versions/miniconda3-3.9.1/bin from PATH
prepending /home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv/bin to PATH
$ python --version
Python 3.4.3 :: Continuum Analytics, Inc.
$ pyenv deactivate
discarding /home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv/bin from PATH
如果有conda
可用, pyenv virtualenv
将使用它来通过conda create
创建环境。
$ pyenv version
miniconda3-3.9.1 (set by /home/yyuu/.pyenv/version)
$ pyenv virtualenv myenv2
$ conda env list
# conda environments:
#
myenv /home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv
myenv /home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv2
root * /home/yyuu/.pyenv/versions/miniconda3-3.9.1
您可以使用miniconda3-3.9.1/envs/myenv
之类的版本将conda
环境指定为Pyenv中的版本。
$ pyenv version
miniconda3-3.9.1 (set by /home/yyuu/.pyenv/version)
$ pyenv shell miniconda3-3.9.1/envs/myenv
$ which python
/home/yyuu/.pyenv/versions/miniconda3-3.9.1/envs/myenv/bin/python
您可以将某些环境变量设置为控制Pyenv-Virtualenv。
PYENV_VIRTUALENV_CACHE_PATH
,如果设置,则指定用于缓存下载的软件包文件的目录。VIRTUALENV_VERSION
(如果设置)迫使Pyenv-Virtualenv安装所需的Virtualenv版本。如果尚未安装virtualenv
,Pyenv-Virtualenv将尝试安装给定版本的Virtualenv。GET_PIP
,如果设置和venv
比virtualenv
首选,请从指定的位置使用get_pip.py
。GET_PIP_URL
,如果设置和venv
优于virtualenv
,请从指定的URL下载get_pip.py
。PIP_VERSION
,如果设置和venv
优于virtualenv
,请安装PIP的指定版本。PYENV_VIRTUALENV_VERBOSE_ACTIVATE
(如果设置)显示激活和停用的一些详细输出PYENV_VIRTUALENV_PROMPT
(如果设置)允许用户自定义pyenv-virtualenv
如何修改其壳提示。默认提示(“(VENV)”)被任何用户指定的文本覆盖。用字符串{venv}
指定虚拟环境名称的位置。例如,默认提示字符串将为({venv})
。 请参阅ChangElog.md。
(麻省理工学院许可证)
特此免费授予任何获得此软件副本和相关文档文件副本(“软件”)的人,以无限制处理该软件,包括无限制,使用,复制,修改,合并的权利,发布,分发,分布和/或出售该软件的副本,并允许提供该软件的人,但要遵守以下条件:
上述版权通知和此许可通知应包含在软件的所有副本或大量部分中。
该软件是“原样”提供的,没有任何形式的明示或暗示保证,包括但不限于适销性,特定目的的适用性和非侵权的保证。在任何情况下,作者或版权持有人均不应对任何索赔,损害赔偿或其他责任责任,无论是在合同,侵权或其他方面的诉讼中,与软件或与软件或使用或其他交易有关的诉讼或其他责任软件。