python 虚拟环境Pipenv

Pipenv的使用

pipenv所解决的问题
requirements.txt依赖管理的局限
如果我要使用 flask, 我会在requirements.txt里面写上

flask

不过由于没有指定版本,因此在另一个环境通过pip install -r requirements.txt安装依赖模块时,会默认安装最新版本的flask,如果新版本向后兼容,这当然是没问题的。但是如果新版本不兼容旧的接口,那么就出问题了:代码无法在该环境运行。因此测试环境和生产环境的不一致出现了,同一份requirement.txt,结果出来2份不同的环境,这叫做 不确定构建 (the build isn’t deterministic) 问题。

  • 创建虚拟环境

Pipenv install --three / --two(指定解释器的版本)

1.会在当前文件所在问目录下创建虚拟环境


image.png

image.png
  • 进入虚拟环境

Pipenv shell

image.png
  • 退出虚拟环境

exit()

  • 安装第三方包

pipenv install 【模块名】


image.png
  • 安装dev环境使用的包

pipenv install -dev requests

image.png

image.png
  • 查看安装的包(使用pipenv命令可以清晰看出包之间的依赖关系)

pipenv graph

image.png

-修改pipenv的下载源,修改地址


image.png
  • 卸载虚拟环境中的包

pipenv uninstall 包名

image.png
  • 环境的迁移

1,创建另一个文件,将需要迁移环境的Pipfile,Pipfile-lockk复制下来


image.png

2,初始还虚拟环境

image.png

-导出requirements.txt

pipenv lock -r > requirements.txt

image.png

image.png
  • 安装requirements.txt

pipenv install -r requirements.txt

  • 其他命令

pipenv --where 列出本地工程目录
pipenv --venv 列出虚拟环境路径
pipenv --py 列出虚拟环境的python解释器
pipenv graph 查看包依赖
pipenv lock 生成lock文件
pipenv --rm 删除虚拟环境
pipenv --shell 激活虚拟环境
exit 退出虚拟环境
workon 查询当前所有虚拟环境

你可能感兴趣的:(python 虚拟环境Pipenv)