//今天用同学的一个模型,被种草了pipenv=。=
安利一波,文档是转载的,也方便自己查看
python - pipenv 使用概览
欢迎访问我的blog:http://www.qnloft.com/blog
pipenv 是 python的 包 / 虚拟环境管理工具。有点类似Java中maven。
GitHub地址:https://github.com/pypa/pipenv
文档地址:https://docs.pipenv.org
pipenv使用场景
一般的我们使用pip安装python,但是pip有一些局限性,比如下面的场景
场景一:
项目A和项目B,同时使用一个包,但是项目A需要使用包的1.0版本,项目B需要使用包的2.0版本场景二:
项目A在开发阶段需要使用到单元测试模块,所以用到一些做测试的包,但是项目上线不需要这些包。
而pipenv
就很好的解决了上述场景中包的管理。
pipenv安装
安装说明文档中的说明进行安装:
使用pip安装pipenv
pip install --user pipenv
pipenv环境变量的设置

首先我们需要确定系统中安装的python的位置,如果系统同时装了python2和python3,运行如下命令,否则运行python -m site
即可
python3 -m site

找到USER_BASE
后边的地址,将这个地址配置到环境变量中,因为我的是mac系统,所以运行如下命令:
vi ~/.bash_profile # 加入如下内容 PYTHON3_HOME=USER_BASE的路径 PATH=$PYTHON3_HOME/bin:$PATH export PATH # 配置完成后执行 source ~/.bash_profile
pipenv使用
首先我们需要建立一个项目文件夹,就是项目A的文件夹,我这里假设项目名称是pipenv_project
:
mkdir pipenv_project cd pipenv_project
初始化语言环境,以下命令视自身情况选择
如果执行
pipenv
出现not find command
则检查自己的环境变量是否配置正确,也有可能是没有执行source
命令
# 初始化一个 python3 的环境 pipenv --three # 初始化一个 python2 的环境(不过都已经 2018 年了,你还要用 2 吗) pipenv --two #初始化特定版本的环境 pipenv --python 3.6 # pypy 也是可以的 pipenv --python pypy3
初始化项目环境
pipenv install
进入编辑环境
pipenv shell
如果要退出sell
环境,输入exit
即可
安装 / 更新 / 卸载依赖
# 安装requests依赖 pipenv install requests # 卸载requests依赖 pipenv uninstall requests # 安装指定版本的包,安装时加--dev表示加入到 dev 环境 pipenv install parsel==1.3.1 # 更新指定个包 pipenv update requests # 更新所有的包 pipenv update
依赖安装成功入下图,如果出现

有时候,安装会出现:The read operation timed out
错误,是网络问题,造成安装超时了,那就需要多执行几遍命令。
查看项目中安装的依赖
pipenv graph
锁定版本
pipenv lock
运行.py文件
vi demo.py # 加入如下内容 import requests response = requests.get('https://httpbin.org/ip') print('Your IP is {0}'.format(response.json()['origin'])) # 运行demo.py pipenv run python3 demo.py
环境变量管理
如果你开发调试时需要配一堆环境变量,可以写到.env文件中,在pipenv shell进入虚拟环境时,它会帮你把这些环境变量加载好,非常方便。
例如写一个.env文件
echo "FOO=23333" > .env
之后pipenv shell
进入虚拟环境,echo $FOO
就能看环境变量的值23333已经设置好了。
其他
我的mac os的虚拟项目目录在:
/Users/用户/.local/share/virtualenvs
在这个文件夹下回找到一个以项目命名的文件夹,里面就是我们安装的依赖了。