为什么我们需要使用虚拟环境?
- 大家都知道 Python 因为一些不可规划的因素导致出现了 Py2 与 Py3 两个分支,并且两个分支都在蓬勃发展,这就导致我们需要在同一台机器上同时安装 Py2 与 Py3 来应对不同项目的需求,反复的配置 Python SDK 的环境变量总是显得那么麻烦,而有了 virtualenv 我们就可以更便捷的在 Py2 与 Py3 之间进行自由的切换了。
- Python 的强大除了人性化的理念、简洁的设计,我相信丰富的第三方库才是 Python 的核心优势,而 Python 对第三方库的管理多数是安装在 SDK 目录下的 site-package 中,这就导致了如果我们有 2 个项目使用的同一个 SDK 但是它们依赖的第三方库不是同一个版本就需要在开发 2 个项目的同时不停的对这个第三方库不停的 install & uninstall,而有了 virtualenv 你就可以轻松的应对这些版本冲突的问题了。
如何安装 virtualenv ?
- 通过 pip 安装
-
官方源安装 virtualenv
pip install virtualenv
-
豆瓣源安装 virtualenv
pip install -i https://pypi.douban.com/simple virtualenv
-
- 通过源码安装
-
下载源码:
git clone https://github.com/pypa/virtualenv.git
-
安装 virtualenv
cd virtualenv && python setup.py install
-
virtualenv 的基础使用
-
通过 virtualenv 创建虚拟环境:
-
虚拟系统环境变量配置的 Python:
virtualenv --no-site-packages ~/PyENV/base_py2
-
虚拟非系统环境变量配置的 Python:
virtualenv -no-site-packages -p /个人 PC 中没有在系统环境变量中生效的 Python SDK 路径/python3 ~/PyENV/base_py3
-
-
激活虚拟环境
cd ~/PyENV/base_py2/bin && source activate
-
退出激活后的虚拟环境
deactivate
如何更高效的使用 virtualenv 呢?
有了 virtualenv 我上述提出的 2 个问题确实得到了有效的解决,但是当你虚拟环境创建多了后你会发现新的问题:
- 如何高效查看自己拥有的所有虚拟环境?
- 如何高效进入指定的一个虚拟环境?
- 如何高效的删除指定的一个虚拟环境?
上述的几个问题如果没有更好的方式解决,你就需要在众多的虚拟环境目录间来回穿梭,还是感觉很麻烦,人生苦短啊。。。
virtualenvwrapper 来帮你有效解决这些痛点
-
virtualenvwrapper 的安装
pip install virtualenvwrapper
-
配置虚拟环境的宿主目录,即配置系统环境变量:WORKON_HOME
echo "export WORKON_HOME=~/PyENV" >> /etc/profile
-
激活 virtualenvwrapper
source virtualenvwrapper.sh
PS:以上激活仅在非 windows 系统中使用,在 windows 上无许激活即可使用。 -
通过 virtualenvwrapper 创建系统默认 python 的虚拟环境
mkvirtualenv base_py2
-
通过 virtualenvwrapper 创建非系统默认配置的 python 虚拟环境
mkvirtualenv --python=/Py3 SDK 的存放目录/python3 base_py3
-
查看现有所有虚拟环境
workon
-
进入指定虚拟环境
workon base_py3
-
退出虚拟环境
deactivate
-
删除指定虚拟环境
rmvirtualenv base_py3
- 交流可以加 QQ 群:397234385
- 或者 QQ 扫码入群:
网友评论