python开发工具virtualenv、virtualenvwrapper、pipenv和pyenv的使用

做python开发的人,对pip、virtualenv、virtualenvwrapper、pipenv和pyenv这几种工具肯定不陌生,其中pip是必备的,那什么时候会用到后面几种工具呢,下面结合例子具体讨论。

假设有下面两种情况:

1. 根据项目的需要,我的电脑上需要安装的python不止一个版本,比如同时需要python2.7和python3.6;

2. 对于某个版本python,有的项目需要某些第三方库,而另一些项目不需要。

安装多个python版本

这时需要下载多个python安装包,为了区分不同的python和pip,需要将其中增加一个pythonX.exe或pythonXX.exe的文件即可,pip也是一样。例如我只有python36和python27,python36我想作为系统默认的python,就不用改,只用将python27 目录下的python.exe重新复制一份,改成python2.exe。这样,后续python3正常使用,如果使用python2,只需要写成python2 xxx.py或pip2 install xxx。

技术图片

技术图片

技术图片

网上很多人推荐的做法是直接将python.exe重命名为python2.exe,我觉得不恰当,因为这样一来就缺少python.exe文件,使用pip的时候会报类似这样的错误:

Fatal error in launcher: Unable to create process using ‘"c:\python27\python.exe"  "C:\Python27\Scripts\pip2.exe" list‘

 当然,解决这种错误也可以将pip2.exe用notepad打开,修改成这样:

技术图片

 

 创建虚拟python环境

创建虚拟python环境,可以是不同的python项目之间互不干扰,各自使用专门的一个Python环境。

virtualenv 是使用最多的,常见用法如下:

virtualenv venv_name: 在当前目录创建一个虚拟环境,默认是--no-site-packages

 

相关文章