python 开发环境配置管理
OS系统环境
debian 12
ubuntu 22.04
# python开发环境附属插件
apt update -y \
&& apt-get install -y python3-dev \
python3-pip \
python3-venv
# 更新pip版本
pip3 install --upgrade pip
pip
# 确认是否安装好了pip
python -m ensurepip
# 选择性
installed pip-18.1
# 直接用这一句可以一键删除和更新
python -m pip install --upgrade pip
virtualenv虚拟环境管理
提示:
个别情况系统会提示使用virtualenv虚拟环境运行python,需要单独处理
virtualenv
# 安装虚拟环境
apt install python3-venv
# 安装虚拟环境
apt install python3-virtualenv
# 解释
当涉及到 Python 虚拟环境时,有几个常用的工具可以帮助你管理不同项目的依赖库和环境隔离。让我为你解释一下这些工具之间的区别:
1. **venv**:
- `venv` 是 Python 3.3 版本之后添加的官方库,自 3.6 版本之后成为官方推荐的多环境管理工具。
- 不需要安装任何第三方库,即可实现多环境管理。
- 只能在 Python 3.3 及更高版本中使用,不支持 Python 2.x。
- 使用 `python3 -m venv /path/to/your/env` 创建虚拟环境,然后通过 `source /path/to/your/env/bin/activate` 激活虚拟环境。
- 优点:简单、轻量级,适用于大多数基于 Python 3 的项目。
2. **virtualenv**:
- `virtualenv` 是目前最流行的 Python 虚拟环境配置工具,支持 Python 2.x 和 Python 3.x。
- 可以为每个虚拟环境指定 Python 解释器,并可以选择继承基础版本的包。
- 使用 `pip install virtualenv` 安装。
- 创建虚拟环境:`virtualenv myenv`。
- 激活虚拟环境:`source myenv/bin/activate`。
- 退出虚拟环境:`deactivate`。
- 优点:灵活、跨版本、扩展性强。
总之,如果你的项目只使用 Python 3.x,且不需要跨版本兼容,`venv` 是一个简单有效的选择。如果需要跨版本或更多功能,`virtualenv` 是更好的选择。¹²³⁴
源: 与 Copilot 的对话, 2024/8/19
(1) python多环境管理(venv与virtualenv) - doublexi - 博客园. https://www.cnblogs.com/doublexi/p/15783355.html.
(2) 一文了解virtualenv、pyvenv、pyenv、pyenv virtualenv-腾讯云 .... https://cloud.tencent.com/developer/article/1593451.
(3) Python环境管理入门:理解Pyenv、Venv、Virtualenv和 .... https://blog.csdn.net/qq_44154915/article/details/136828892.
(4) Python虚拟环境pyenv、venv(pyvenv)、virtualenv之间的区别 .... https://blog.csdn.net/lovedingd/article/details/106721585.
创建虚拟环境
# 创建虚拟开发环境
# python3 -m venv 文件夹名称
# 虚拟开发环境的文件夹一般统一命名为.venv venv env 这三种
python3 -m venv venv
# 激活开发环境
source ./venv/bin/activate
# 退出当前环境
deactivate
pipenv
# 安装pipenv
pip install pipenv
# 使用pipenv安装环境
pipenv install -r requirements.txt
requirements.txt 包管理
pipreqs
# 安装包
pip install pipreqs
# 在项目目录下
pipreqs ./
# 强制覆盖已经存在的 requirements.txt 文件
pipreqs ./ --encoding=utf8 --force
问题解决
一般提示python虚拟环境问题时可以通过查看环境变量来解决
# 观察venv
echo $PATH
License:
CC BY 4.0