工欲善其事,必先利其器.
Pipenv: Python Development Workflow for Humans
pip install pipenv
添加--python
参数指定python版本号,前提条件是本地已经安装该版本的python.
pipenv --three/two
pipenv --python 2.7
pipenv --python 3.7
这会在项目目录中创建两个新文件:
Pipfile
:该文件是TOML
格式,存放当前虚拟环境的配置信息,包括python版本,pypi源以及依赖包等,pipenv根据该文件寻找项目的根目录。
Pipfile.lock
:该文件是对Pipfile的锁定,支持锁定项目不同版本所依赖的环境。
# activate
pipenv shell
# deactivate
exit
pipenv支持开发环境和生产环境依赖的分离。
pipenv install
有多重作用:
pipenv install
# 安装开发环境依赖(如py.tests,mock等)
pipenv install --dev
# 指定包名
pipenv install [package_name]
# 如果项目已经存在requirements.txt
pipenv install -r requirements.txt
另外你也可以以下面格式的URL安装在git或其他版本控制系统中的包。
type>+:////@#
**vcs_type有效值:**git,bzr,svn,hg
**scheme有效值:**http,https,ssh,file
branch_or_tag:可选参数
强烈建议以编辑模式安装任何版本控制依赖,如下示例:
# 安装requests
pipenv install -e git+https://github.com/requests/requests.git@v2.19#egg=requests
使用它可以在进入项目目录时自动激活项目所需的虚拟环境;对于多个项目目录的切换,它分别激活相对应的虚拟环境,提升了效率。
pip install autoenv
在项目根目录下创建.env文件,并写入:
pipenv shell
要实现 autoenv
自动识别项目目录中的 .env
文件,需要将autoenv
的激活脚本添加到终端的 profile 中:
# bash
echo "source `which activate.sh`" >> ~/.bashrc
source ~/.bashrc
# zsh
echo "source `which activate.sh`" >> ~/.zshrc
source ~/.zshrc
pipenv
pipenv [OPTIONS] COMMAND [ARGS]...
Options:
–where
输出项目根目录路径
输出虚拟环境信息
输出环境变量信息
删除当前虚拟环境
指定PyPi的镜像
为虚拟环境启用site-packages
check:检查包的anquanxing
clean:卸载未在Pipfile.lock中指定的所有软件包
graph:显示当前安装的依赖关系图信息
lock:生成Pipfile.lock文件
run:在未激活虚拟环境时可以直接使用虚拟环境的Python执行命令
sync:安装所有在Pipfile.lock中指定的软件包
uninstall:卸载指定的软件包并将其从Pipfile
中删除
update:更新指定包