pyenv和pipenv的整合使用
pyenv负责管理多版本python的安装,pipenv负责配置项目的包依赖环境。
安装pyenv
首先是安装配置好pyenv,博客里面三篇文章已经说明白了:
关于pyenv的安装和使用,看上面三篇文档即可。
卸载virtualenv
如果安装了virtualenv,可以卸载掉:
$ brew uninstall pyenv-virtualenv
Uninstalling /usr/local/Cellar/pyenv-virtualenv/1.1.3... (20 files, 62.2KB)
因为我们会使用pipenv,不再需要自己创建和管理virtualenv环境。
查看pyenv环境
查看pyenv是否已经工作,以及python是否是pyenv所提供:
$ which python
/Users/weli/.pyenv/shims/python
$ python --version
Python 3.7.2
可以看到我的环境里使用的是pyenv的python。
安装pipenv
然后是使用pyenv环境提供的pip安装pipenv:
$ pip install pipenv

使用pipenv
安装完pipenv以后,可以创建一个sample project:
$ mkdir foo
在这里面执行pipenv的安装命令:
$ pipenv install
执行完成后,可以看到当前目录生成了Pipfile和Pipfile.lock:

查看生成的Pipfile内容:

里面有一些项目的环境的基础信息。
此时试着安装numpy:

安装过程如上所示。实际上pipenv是安装到了它自动为项目创建的virtualenv虚拟环境目录里。
此时重新查看Pipfile:

可以看到numpy的依赖已经被添加了。此时我们可以进入到pipenv为我们生成的虚拟环境:
$ pipenv shell

此时在pipenv为我们创建好的环境下就可以进行代码的开发工作了。
查看这个环境所使用的python版本:

可以看到是pipenv的虚拟环境里面的python,然后版本是3.7.2。
如果我们要在另一个项目里面使用别的版本的python,pipenv也可以提供支持,下面是命令:
$ pipenv --python 3.6 install
命令的使用例子如下:

可以看到pipenv为bar生成了新的虚拟环境。此时查看新项目的Pipfile:

可以看到这个项目使用的python版本是3.6。此时进入到这个项目的virtualenv里面:

可以看到这个项目使用的python是我们指定的3.6版本。
值得一提的是,这个3.6版本,是从pyenv里面安装而来:

可以看到,pipenv跟pyenv是紧密结合的,pipenv会利用pyenv的python多版本支持能力,同时托管了virtualenv的创建工作。
此外,pipenv的virtualenv是给每一个项目单独创建的,并且通过Pipfile来明确定义以来包的各个版本,所以简化了后续项目的distribution工作。
以上是对pipenv的简单使用说明。
- 上一篇 从conda转向pyenv(三)
- 下一篇 pipenv和pycharm的整合