pipenv详解

pipenv的安装

pip3 install pipenv

pipenv在某一文件夹下创建虚拟环境

pipenv --two / --three / --python 3.7 # 不会创建Pipfile.lock,一般省略此步,直接pipenv install

pipenv在某一文件夹下安装虚拟环境(两种情况)

pipenv install
  • 文件夹下存在Pipfile和Pipfile.lock。这两个文件记录着该虚拟环境需要装的包以及python版本。执行上述命令会创建该虚拟环境。
  • 不存在Pipfile和Pipfile.lock。执行上述命令会创建一个全新的虚拟环境,同时创建Pipfile和Pipfile.lock。

创建虚拟环境后,执行以下两种方式使用虚拟环境

pipenv shell # 第一种,开启虚拟shell,之后执行各种命令
exit # 退出虚拟环境
pipenv run python -m pyftpdlib # 第二种,不开启虚拟shell,直接使用pipenv run来执行命令

在虚拟环境下安装包(以pyftpdlib为例)

# 安装 包的第一种方法
pip3 install pyftpdlib
  • 该方法可以在虚拟环境中成功安装包,但是并未在Pipfile和Pipfile.lock中添加记录。假如将该文件夹项目发给同事使用,同事执行pipenv install 时,检查的是Pipfile和Pipfile.lock两个文件中的记录,并没有pyftpdlib,同事的虚拟环境中就不能安装该包。

如何在Pipfile和Pipfile.lock中添加pyftpdlib的记录呢?

# 安装 包的第二种方法
pipenv install pyftpdlib
  • 该方法既可以在虚拟环境中安装包,也会在安装的同时,将记录写入到Pipfile和Pipfile.lock中。方便其他人使用时,可以直接将所需的虚拟环境创建完全。事实上,用pip3 install pyftpdlib安装也是可以的,但是需要在安装完成后,再执行一次pipenv install pyftpdlib。但是很显然,能执行一次命令就可以的事情,没有必要执行两次。

查看虚拟环境的文件存在何处?

# 无需开启shell,在创建虚拟环境的文件夹下执行,开启也行
pipenv --venv
# 一般返回如下:/root/.local/share/virtualenvs/pipenv-EMLcMOpm

删除虚拟环境

# 无需开启shell,在创建虚拟环境的文件夹下执行,开启也行
pipenv --rm

生成requirements.txt文件

pipenv lock -r > requirements.txt

你可能感兴趣的:(pipenv详解)