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