碎言博客

pipenv 简化的虚拟环境、项目依赖管理工具

J.sky 2021-02-20 15:38:15 Flask

最近学习flask,由于flask框架本身非常极简,功能上需要很多的扩展包,所以项目需要在Python的虚拟环境下来安装管理这些扩展,这样才会方便项目在其他地方进行扩展包的安装。这里推荐 pipenv 来管理虚拟环境和扩展。

## 安装并激活虚拟环境

pip install pipenv

终端进入项目目录, pipenv shell 激活并初始化虚拟环境,

(base) ( ̄︶ ̄)↗ pipenv shell
Launching subshell in virtual environment...
bash-3.2$  . /Users/mac/.local/share/virtualenvs/Flask-BabyLog-cH2fMiTs/bin/activate
(Flask-BabyLog) bash-3.2$

我们可以看到环境配置文件的目录,以及终端的提示符的变化。

使用 exit 退出虚拟环境。

安装项目依赖

把平时的 pip 换成 pipenv

pipenv install requests

打开项目目录中的 Pipfile

[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
requests = "*"

[dev-packages]

[requires]
python_version = "3.8"

url 那里可以修改pip的镜像地址,如果下载太慢,可以换成国内的镜像地址。 [packages] 是虚拟环境中安装过的扩展包

假设换了一台机器,我们从GitHub上clone下来项目,当然项目中的包含 Pipfile Pipfile.lock 二个文件。

终端运行:

pipenv install

即可安装项目的所有依赖。

以上为 pipenv 的一些简单操作,更多请参考官方文档。

pipenv官方文档

写在最后

如果讨厌 lock 的生成速度,可以在安装依赖的时候使用 pip ,然后生成依赖列表:

pip freeze > requirements.txt

这样在其他地方创建虚拟环境开荒的时候,可以使用下边的命令安装所有依赖。

pip install -r requirements.txt

虽然这用法有点另类,我只是喜欢 pipenv 的创建、启用和退出的命令,很方便。哈哈哈,实在不行咱就用回 venv 吧,可以参考下文

创建python 虚拟环境 venv

发现错误?想参与编辑? 在 GitHub 上编辑此页!

如果您有什么问题,欢迎加入Python/Javascript学习讨论群询问

Python/Javascript学习QQ群号:217840699