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

作者:J.sky · 发表于:
2021-02-20T15:38:15.000000Z
· 更新于:
2023-08-13T22:54:33.219151Z
· Tag: 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