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的整合