python虚拟环境——pipenv

文章目录

  • 前言
    • 1.安装
    • 2.使用


前言

pipenv主要有以下特性:

  • pipenv集成了pip,virtualenv两者的功能,且完善了两者的一些缺陷。

  • pipenv会在项目目录下创建 Pipfile 、 Pipfile.lock 文件,管理包之间的依赖关系。

  • virtualenv需要将虚拟环境依赖包的导出为requirements.txt, 一旦依赖包变动,就要重新导出,现在Pipfile和Pipfile.lock文件可以节省这些步骤,更方便地管理,查看依赖关系是十分方便。

  • 各个地方使用了哈希校验,无论安装还是卸载包都十分安全,且会自动公开安全漏洞。。

  • 通过加载 .env文件简化开发工作流程。

  • 便于docker容器化管理,Pipfile文件支持生成 requirements文件,便于项目代码docker化管理,另外,pipfile还支持v–dev环境,可以在调试阶段安装许多调试工具等,而不影响生产环境的环境。

  • 无需激活虚拟环境执行代码,只要有pipfile文件即可使用虚拟环境的依赖包执行python脚本,如:通过执行命令 pipenv run python xx.py。

  • 支持Python2 和 Python3,在各个平台的命令都是一样的。


1.安装

pip install pipenv

2.使用

查看帮助指令:

pipenv --help

创建文件夹进入后创建虚拟环境

mkdir my
cd my
pipenv --python 3.9

windows指定python版本

pipenv install --two # 需要确保系统中存在python2版本
pipenv install --three # 需要确保系统中有python3版本

记着把虚拟环境的地址记下来

python虚拟环境——pipenv_第1张图片
而虚拟环境创建的目录,则是位于C盘下,进入C:\Users\bobo\.virtualenvs目录下,可以发现目录下新增了一个 Pro1-sCuF4Q6F,该文件夹中的内容则是F盘 Project目录下Pro1项目对应的虚拟环境

创建好后会生成PipfilePipfile.lock 文件

Pipfile文件: 用于保存项目的python版本、依赖包等相关信息 。

[[source]]
url = "https://pypi.tuna.tsinghua.edu.cn/simple"
verify_ssl = true
name = "pypi"

[packages]
requests = "*"
pyyaml = "*"
Django = "*"

[dev-packages]
pytest = "*"

[requires]
python_version = "3.7"

[scripts]
django = "python manage.py runserver 0.0.0.0:8080"

  • source 用来设置仓库地址,即指定镜像源下载虚拟环境所需要的包
  • packages 用来指定项目依赖的包,可以用于生产环境和生成requirements文件
  • dev-packages 用来指定开发环境需要的包,这类包只用于开发过程,不用与生产环境。
  • requires 指定目标Python版本
  • scripts 添加自定义的脚本命令,并通过 pipenv run + 名称 的方式在虚拟环境中执行对应的命令 。pipenv run django 相当于 执行命令 pipenv run python manage.py runserver 0.0.0.0:8080

pipenv一些常用命令:

  • pipenv graph——查看包关系
  • pipenv install ** --skip-lock——用Pipfile修改的源进行下载
  • pipenv install --dev ***** - -skip-lock——安装测试的包
  • pipenv run python main.py——使用虚拟环境运行 不用pipenv run直接运行应该也可以
  • pipenv --where——查看创建的虚拟环境的目录
  • pipenv --venv——查看创建的虚拟环境的虚拟目录
  • pipenv --py——解释器的路径
  • pipenv update——更新pipenv所有的包
  • pipenv update requests——在项目所在虚拟环境中更新requests包,并在Pipfile.lock文件中更新相应版本信息
  • pipenv update --outdated——在项目所在虚拟环境中查看已过期的包的信息
  • pipenv lock——根据项目所在虚拟环境的Pipfile文件生成/更新Pipfile.lock文件中的依赖包信息
  • pipenv check——检查安全漏洞
  • pipenv uninstall requests——在项目所在虚拟环境中卸载requests包,并在Pipfile文件移除包名
  • pipenv uninstall --all——在项目所在虚拟环境中卸载所有包,并在Pipfile文件移除包名
  • pipenv uninstall --all --dev——在项目所在虚拟环境中卸载所有dev环境的包,并在Pipfile文件移除[dev-packages]中的所有包名

删除虚拟环境

pipenv --rm

pipenv还可以通过requirements.txt文件 安装依赖包

pipenv install -r requirement.txt

你可能感兴趣的:(python)