1
0
wiki/Tech/programming-language/Python/进阶/项目实践/虚拟环境/pipenv.md
2023-11-09 17:30:33 +08:00

136 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: pipenv
description: Python pipenv 虚拟环境
keywords:
- Python
- pipenv
- 虚拟环境
tags:
- Python/虚拟环境
sidebar_position: 5
author: 7Wate
date: 2023-01-18
---
## 简介
pipenv 是一个 Python 包和环境管理工具,用于管理项目的依赖关系和创建虚拟环境。它的目的是简化 Python 包管理和环境管理的过程,使其变得更容易和更可靠。
pipenv 是一个 Python 包和环境管理工具,用于管理项目的依赖关系和创建虚拟环境。它的目的是简化 Python 包管理和环境管理的过程,使其变得更容易和更可靠。
pipenv 主要由两部分组成:
- 一个命令行工具,用于管理依赖关系和创建虚拟环境。
- 一个配置文件Pipfile用于描述项目的元数据和依赖关系。
安装 pipenv 需要通过 pip install pipenv 命令来安装。如果想要创建一个新的项目,可以使用 pipenv install 命令来创建虚拟环境和安装依赖。
在 pipenv 中,所有的依赖关系都被维护在一个名为 Pipfile 的文件中这个文件用于描述项目的依赖关系。pipenv 会自动生成锁定文件Pipfile.lock来跟踪项目依赖关系的版本号这样可以保证项目在不同环境中使用相同的依赖关系版本
另外 pipenv 支持从 requirements.txt 导入依赖项,并且也可以通过 pipenv lock 命令将项目依赖项导出到 requirements.txt 文件。总之 pipenv 是一个简单易用,支持创建虚拟环境和管理依赖关系的工具,适合于开发和维护 Python 项目的开发人员使用。
## 使用
安装前确保已经拥有了 Python3 和 Pip3并且可以从 shell 中使用它。
### 1. 安装
```shell
pip install pipenv
pip3 install pipenv
# 升级
pip install --upgrade pipenv
# 卸载
pip uninstall pipenv
```
### 2. 使用
#### 2.1 虚拟环境
```shell
# 创建虚拟环境
pipenv install
# 指定 Python 版本
pipenv --python 3
pipenv --python 2.7.14
# 激活虚拟环境 shell
pipenv shell
# 关闭虚拟环境 shell
exit
```
#### 2.2 依赖管理
```shell
# 安装依赖
pipenv install <package>
# --dev 选项安装开发依赖
pipenv install --dev <package>
# 从 requirements.txt 安装依赖
pipenv install -r path/to/requirements.txt
# 导出 requirements.txt
pipenv requirements > requirements.txt
pipenv requirements --dev > requirements.txt
# 指定安装依赖版本,使用语义化版本控制方案
pipenv install requests~=1.2
# 对比上下游依赖
pipenv update --outdated
# 升级所有依赖
pipenv update
# 升级指定依赖
pipenv update <pkg>
# 删除依赖
pipenv uninstall <package>
# 锁定依赖
pipenv lock
# 验证依赖
pipenv verify
```
#### 2.3 依赖包源
```shell
pipenv install --pypi-mirror <mirror_url>
pipenv update --pypi-mirror <mirror_url>
pipenv sync --pypi-mirror <mirror_url>
pipenv lock --pypi-mirror <mirror_url>
pipenv uninstall --pypi-mirror <mirror_url>
```
### 3. 命令
| 命令 | 用途 |
| ------------------------------ | ---------------------------------------------------- |
| pipenv install | 安装项目所需的包 |
| pipenv install [package] | 安装特定的包 |
| pipenv install --dev [package] | 安装用于开发环境的包 |
| pipenv uninstall [package] | 卸载特定的包 |
| pipenv lock | 生成锁定文件,用于确保项目在不同环境中的包版本一致性 |
| pipenv update | 更新项目中的所有包 |
| pipenv update [package] | 更新特定的包 |
| pipenv check | 检查项目中的包是否最新 |
| pipenv graph | 展示项目依赖关系图 |
| pipenv shell | 启动虚拟环境的 shell |
| pipenv run [command] | 在虚拟环境中运行命令 |
| pipenv clean | 删除虚拟环境中无用的包 |