使用 pipenv 管理依赖包

mervyn 2019年1月13日14:00:44编程语言 Python使用 pipenv 管理依赖包已关闭评论593

目录

之前文章提到了使用 pyenv 和 pyenv-virtualenv 管理python环境,那环境搭建ok了,接下来在做项目的过程难免需要用到各种依赖包。文章源自编程技术分享-https://mervyn.life/494aea5e.html

以前经常用的就是 EasyInstall 来相对容易地安装其他 Python 包的软件包。后边用 pip 进行安装和卸载依赖包。 pip 还可以跟一个名叫 requirements.txt 的文件进行配合使用。这里就不讲述如何使用这种方式进行依赖包管理了。今天要讲的是 pipenv ,它也是官方推荐的方式 。文章源自编程技术分享-https://mervyn.life/494aea5e.html

pipenv 放弃使用 requirements.txt 来进行管控相互依赖关系,而是采用了一个名为 Pipfile 的文件来进行依赖管理。接下来主要讲解 pipenv 如何使用。文章源自编程技术分享-https://mervyn.life/494aea5e.html

安装 pipenv

使用 pip 进行安装文章源自编程技术分享-https://mervyn.life/494aea5e.html

pip install --user pipenv

安装项目依赖

我们以安装 requests 依赖为例:文章源自编程技术分享-https://mervyn.life/494aea5e.html

cd project_dir
pipenv install django

执行完后会发现,在 project_dir 目录下会生成 PipfilePipfile.lock 文件。文章源自编程技术分享-https://mervyn.life/494aea5e.html

运行项目

有两种方式运行项目文章源自编程技术分享-https://mervyn.life/494aea5e.html

  • 使用 pipenv run 命令:
cd project_dir
pipenv run python demo.py
  • 启动一个shell,然后 python 运行
cd project_dir
pipenv shell
python demo.py

requirements.txt 转换

pipenv install requirements.txt

vscode 配置

在项目目录执行 pipenv --py 可以获取到pipenv 安装时创建的虚拟python环境。如下边配置的:/Users/Mervyn/.local/share/virtualenvs/demo-Rmf_rZsk/bin/python ,每个人获取的都会有所不同。文章源自编程技术分享-https://mervyn.life/494aea5e.html

使用 vscode 打开一个该项目,这时项目根目录会有个 .vscode 的目录里边包含一个 settings.json 的文件。文章源自编程技术分享-https://mervyn.life/494aea5e.html

将如下内容放入其中:文章源自编程技术分享-https://mervyn.life/494aea5e.html

{
    "files.exclude": {
        "**/.git": true,
        "**/.svn": true,
        "**/.hg": true,
        "**/CVS": true,
        "**/.DS_Store": true,
        "**/*.pyc": true,
        "**/__pycache__": true
    },
    "python.pythonPath": "/Users/Mervyn/.local/share/virtualenvs/demo-Rmf_rZsk/bin/python"
}
文章源自编程技术分享-https://mervyn.life/494aea5e.html
weinxin
我的微信公众号
微信扫一扫
mervyn
python多版本及依赖包管理 Python

python多版本及依赖包管理

本文主要讲述如何通过 pyenv 来管理不同版本的 python ,以及如何使用 Pipenv 在同一个python版本实现项目之间依赖包的隔离。 pyenv Linux下安装 curl https:...
python多版本及依赖包管理 Python

python多版本及依赖包管理

本文主要讲述如何通过 pyenv 来管理不同版本的 python ,以及如何使用 Pipenv 在同一个python版本实现项目之间依赖包的隔离。 pyenv Linux下安装 curl https:...