0%

pipenv 使用

优势

  • 保存包的依赖关系,不需要requirements.txt文件,使用pipenv graph来查看包的依赖关系
  • 不需要先激活虚拟环境,只需要在虚拟环境的文件夹下直接使用pipenv命令即可,当然也可以使用pipenv shell激活当前的虚拟环境
    • 激活虚拟环境后可以使用Python自带的pip list来产看安装了哪些包,当然可以直接查看Pipfile文件,以及使用pipenv graph来查看包的依赖关系
  • 实际上是将虚拟环境和包管理联系起来,包的信息保存在项目中的Pipfile和Pipfile.lock中,代替了requirements.txt的作用,创建的虚拟环境需要和项目中的Pipfile、Pipfile.lock文件配合使用。在项目下使用pipenv shell激活相应的虚拟环境
  • 删除虚拟环境的时候不需要先激活虚拟环境

安装

  • 使用pip install pipenv进行安装

使用

  • 使用之前先要创建一个文件夹,存档Pipfile文件
    • 建议修改Pipfile中的url,修改安装包时的源,改为国内的https://mirrors.aliyun.com/pypi/simple
  • pipenv --three会使用当前系统的Python3创建环境
  • 也可以使用pipenv --python 版本号来创建环境
  • 创建完成后,使用pipenv shell激活虚拟环境
    • 注意,在未创建虚拟环境的情况下,使用该命令,会在当前文件夹下创建以文件夹命名的虚拟环境并启用该虚拟环境
  • 注意以下三个命令只能在创建好的文件夹下(即含有Pipfile文件的文件夹)执行
    • 使用pipenv --where显示项目目录信息,为当前创建的文件夹的路径
    • 使用pipenv --venv显示虚拟环境定义的路径
    • 使用pipenv --py显示Python解释器路径

虚拟环境的使用

  • 在虚拟环境中pipenv基本代替pip的使用

  • 安装库,并添加到Pipfile中

    • pipenv install 模块进行相应的库的安装
      • pipenv install 模块==版本号可以安装指定版本的库
      • 安装时,会创建Pipfile.lock文件,用来保证包不被恶意篡改,但是这个过程是耗时的,我们可以在安装模块的时候添加参数,跳过该步骤pipenv install requests --skip-lock
  • Pipfile文件的内容

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    [[source]]                                                                                                            
    name = "pypi"
    url = "https://pypi.org/simple"
    verify_ssl = true

    [dev-packages]

    [packages]

    [requires]
    python_version = "3.7"

    其中[dev-packages]为开发环境安装的包,使用pipenv install --dev requests --skip-lock创建在开发环境下的包

  • pipenv graph查看当前安装的库以及依赖

  • pipenv update会将当前安装的包全部卸载并安装最新的包

  • pipenv check检查安全漏洞

  • pipenv uninstall --all卸载全部包并从Pipfile中移除

  • exit退出当前的虚拟环境

  • 使用pipenv --rm删除当前的虚拟环境