这篇文章上次修改于 2148 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

前面我们实现了多版本并存,我们可以灵活的切换。虽说有了多版本Python, 但像我这种兜里没钱的人,可能服务器里放着两个使用同版本Python的项目,我又不想两个项目用一个环境(强迫症。。假设用的同一个环境。删了A项目,B项目还留着,肯定不能把环境删了,但是环境里肯定还有留着A用的B却没用的库,我心里就不爽了,别说直接拆了不要的库,我怕拆不干净:persevere:)

安装 pyenv-virtualenv 插件

下载pyenv-virtualenv至pyenv的插件目录

执行:

git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv

这里要注意~/.pyenv是你安装pyenv的路径,前面我演示的路径是这个,所有我是克隆到这个目录之下。plugins就是pyenv的插件文件夹。

[root@cyjay-1 ~]# git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
Cloning into '/root/.pyenv/plugins/pyenv-virtualenv'...
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 2009 (delta 0), reused 1 (delta 0), pack-reused 2005
Receiving objects: 100% (2009/2009), 568.83 KiB | 342.00 KiB/s, done.
Resolving deltas: 100% (1373/1373), done.

执行这样呢,就说明插件下载完成了。。

修改环境配置

前面我们用的vim修改bash_profile文件来配置环境变量。我们现在换另一种修改方式。。
执行:

echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile

这里的echo命令通常在shell脚本和批处理中使用,以将状态信息输出到屏幕或文件中。
输出到屏幕中用法是 echo 「需要输出的字符串」
输出到文件中用法是 echo 「需要输出的字符串」 >> 「目标文件」

使环境配置生效

前面的三种方法选一个吧,,,我喜欢用这个

source ~/.bash_profile

创建虚拟环境

使用下面命令创建虚拟环境:

pyenv virtualenv 3.6.5 env_3.6.5

命令用法:pyenv virtualenv 「基于的版本名」 「虚拟环境名」
如果想基于当前会话所使用的版本创建虚拟环境创建可直接使用 pyenv virtualenv 「虚拟环境名」

删除虚拟环境

使用下面命令删除虚拟环境:

pyenv uninstall env_3.6.5

命令用法: pyenv uninstall 「虚拟环境名」

切换虚拟环境

切换方法和前面的pyenv切换Python方法一样。均是使用:

pyenv global 「虚拟环境名」
pyenv local 「虚拟环境名」
pyenv shell 「虚拟环境名」

另外,可以琢磨一下这两个:

pyenv activate env_3.6.5 # 激活 env_3.6.5 这个虚拟环境
pyenv deactivate # 停用当前的虚拟环境

这两个我一般不怎么用,这里就不做讲解了:stuck_out_tongue_winking_eye: :stuck_out_tongue_winking_eye: