python之venv、Miniconda、uv的使用

造相-Z-Image-Turbo 亚洲美女LoRA

造相-Z-Image-Turbo 亚洲美女LoRA

图片生成
Conda
Cuda

基于 **Z-Image-Turbo** 的图片生成 Web 服务,新增对 LoRA laonansheng/Asian-beauty-Z-Image-Turbo-Tongyi-MAI-v1.0 的按需加载支持与严格的后端内容策略

为什么需要虚拟环境

(1)在同一个python环境中安装同一个包的不同版本,后安装的包会把原来安装的包覆盖掉。这样,如果同一台机器上两个项目依赖于相同包的不同版本,则会导致一些项目运行失败。

在这里插入图片描述

(2)例如项目1安装了mysqldb1.2.5版本,项目2又安装了mysqldb2.0.1版本。就会把mysqldb1.2.5版本给覆盖掉,影响了项目1的使用
(3)解决的方案就是:虚拟环境。虚拟环境是真实python环境的复制版本。在虚拟环境中使用的python是复制的python,安装python包也是安装在复制的python中。

1.venv

1.1 安装

(1)Python2 版本创建虚拟环境常使用一个名为 virtualenv 的第三方包。从 Python3.3 以后,标准库就内置了一个名为 venv 的模块,我们可以用它来创建虚拟环境,完全替换 virtualenv。

sudo apt install python3-venv

(2)确保已安装 Python 3
venv 是 Python 的内置工具,确保 Python 版本为 3.3 或更高:
①python --version 或:
②python3 --version
(3) 检查是否支持 venv
①通过以下命令检查 venv 是否可用:
python -m venv --help
②如果出现帮助信息,则说明 venv 可以正常使用。

1.2 创建虚拟环境

(1)假设我们要在当前目录的test_env目录下创建虚拟环境,那么执行下面的命令就可以了:
python3 -m venv test_env(python -m venv test_env)
(2)指定 Python 版本,如果系统中安装了多个版本的 Python,可以通过指定 Python 解释器来创建环境:
①Linux下:python3.12 -m venv myenv
②Windows下:py -3.12 -m venv myenv

1.3 启用虚拟环境

(1)在Linux和Mac环境下,打开终端,执行下面的命令:

source ./test_env/bin/activate
(2)在Windows环境下,打开PowerShell,执行下面的命令:
.\test_env\Scripts\Activate.ps1

(3)激活成功后,命令提示符或终端前会显示虚拟环境的名称,例如:

(myenv) $

1.4 安装/卸载包(依赖)

(1)虚拟环境启用后,就可以使用pip命令来安装需要的包:
pip install easydict(easydict是包名)
注意这里不需要root权限,因此无需添加sudo。
(2)在Linux和Mac系统上,安装的包放在./test_env/lib/pythonx.x/site-packages 目录下,在Windows系统上,是在./test_env/Lib/site-packages 目录下。
(3)使用包
①安装后,可以在命令行执行python 命令,进入Python交互式环境,然后import 安装的包,如果不报错,就说明安装成功了

python
Python 3.9.6 (default, Sep 26 2022, 11:37:49)
[Clang 14.0.0 (clang-1400.0.29.202)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import easydict
>>>

②或者也可以用一条命令python -c "import <package-name> 来验证是否安装,没有报错就说明安装成功。然后就可以编写你的Python代码了,写完后用python my-code.py来执行Python代码。
(4)查看虚拟环境中的依赖
pip list
(5)卸载包(ultralytics-thop是包名)

 pip uninstall ultralytics-thop -y

(6)卸载虚拟环境中所有已安装的包

pip uninstall -y -r <(pip freeze)

1.5 退出、删除虚拟环境

(1)退出虚拟的python环境,在命令行执行下面的命令即可:
deactivate
(2)删除虚拟环境:要删除虚拟环境,只需删除对应的文件夹:
rm -rf myenv
这样就完全移除了虚拟环境及其依赖

1.6 升级 pip

在新创建的虚拟环境中,建议将 pip 升级到最新版本:

pip install --upgrade pip

1.7使用 requirements.txt 管理依赖

(1)生成依赖文件
①将当前环境中的依赖保存到 requirements.txt 文件:

pip freeze > requirements.txt

②在conda环境中,pip freeze 会输出 conda 管理的包路径。下面命令可以过滤掉本地路径,只输出标准包名+版本:

pip list --format=freeze > requirements.txt

(2)安装依赖:
①根据 requirements.txt 文件安装依赖:

pip install -r requirements.txt

②清华源下载:

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/

1.8 pycharm配置venv

(1)配置已有的venv,选择安装的env的Scripts下的python.exe

在这里插入图片描述

在这里插入图片描述

2.Miniconda

2.1 对于pip、conda、anaconda和miniconda的区别。

(1)conda是一个包和环境管理工具,它不仅能管理包,还能隔离和管理不同python版本的环境。类似管理nodejs环境的nvm工具。
(2)anaconda和miniconda都是conda的一种发行版。只是包含的包不同。
①anaconda包含了conda、python等180多个科学包及其依赖项,体格比较大。但很多东西你未必用到,所以才有mini版。
②miniconda是最小的conda安装环境,只有conda+python+pip+zlib和一些其他常用的包,体格非常迷你。
③miniconda所有的操作命令皆在命令行中完成,没有GUI界面。而anaconda是有界面的。
(3)pip也叫包管理器,和conda的区别是,pip只管理python的包,而conda可以安装所有语言的包。而且conda可以管理python环境,pip不行。

2.2 Miniconda下载

(1)推荐从清华镜像下载安装包,因为从官网下载比较慢
https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/
(2)打开网页后,下拉到最后找到Miniconda3-latest前缀的文件,或者从网页中 Ctrl+F 直接搜索Miniconda3-latest,都可以找到该安装软件
在这里插入图片描述

2.3 安装

(1)双击后点击下一步next
在这里插入图片描述
(2)I agree
在这里插入图片描述

在这里插入图片描述

(3)选择安装路径
在这里插入图片描述
(4)三个都勾选 → install,三个选项分别对应:
●创建快捷方式
●注册python3.12版本
●清除安装包
在这里插入图片描述
(5)Finish
在这里插入图片描述
(6)添加两个环境变量
在这里插入图片描述
(7)输入conda info输出下面代表安装成功
在这里插入图片描述

2.4 测试运行代码

(1)打开Anaconda PowerShell Prompt

在这里插入图片描述

(2)进入代码文件目录,并运行
在这里插入图片描述

3.uv

(1)uv 是一个用 Rust 编写的极速 Python 包和项目管理器,旨在替代 pip、pip-tools、pipx、poetry、pyenv、virtualenv 等多个工具。以下是最新版本的完整指南。
(2)uv提供了以下主要功能:

  • uv pip - 兼容 pip 的接口,用于安装和管理包
  • uv venv - 创建虚拟环境
  • uv python - 管理 Python 版本
  • uv run - 运行脚本和命令
  • uv add/remove - 管理项目依赖
  • uv lock/sync - 锁文件和同步依赖

(3)为什么选择 UV?

  • 速度极快:Rust 编写,安装依赖速度是 pip 的 10-100 倍。
  • 无感激活:进入项目文件夹自动激活虚拟环境,无需手动 source activate。
  • 和 Conda 区别:专长管理 python,我们不需要它管理驱动和 CUDA

3.1 安装 UV

3.1.1 各平台安装方式

(1)macOS 和 Linux

curl -LsSf https://astral.sh/uv/install.sh | sh

(2)Windows

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

(3)使用 pip 安装

pip install uv

3.1.2 验证安装

uv --version

3.2 核心概念

3.3 基础使用

3.3.1 创建虚拟环境

# 创建虚拟环境
uv venv

# 指定 Python 版本
uv venv --python 3.12

# 指定路径
uv venv /path/to/venv

3.3.2 激活虚拟环境

(1)Linux/macOS

source .venv/bin/activate

(2)Windows

.venv\Scripts\activate

3.3.3 安装包

# 基本安装(替代 pip install)
uv pip install requests

# 指定版本
uv pip install "requests>=2.28,<3.0"

# 从 requirements.txt 安装
uv pip install -r requirements.txt

# 安装到全局环境
uv pip install --system flask

# 安装开发依赖
uv pip install pytest black --dev

3.3.4 卸载包

uv pip uninstall requests

3.3.5 列出已安装的包

uv pip list

# 查看过期包
uv pip list --outdated

3.3.6 冻结依赖

# 生成 requirements.txt
uv pip freeze > requirements.txt

# 更严格的锁定文件
uv pip compile requirements.in -o requirements.txt

3.4 项目管理(UV 项目模式)

1. 初始化新项目

# 创建新项目
uv init my-project
cd my-project

# 在现有目录初始化
uv init --app   # 应用程序
uv init --lib   # 库

这会创建 pyproject.toml 文件。

2. 添加依赖

(1)添加运行时依赖


uv add requests flask

相当于pip以下步骤:

# 1. 激活虚拟环境
source .venv/bin/activate  # Linux/Mac
# 或
.venv\Scripts\activate     # Windows

# 2. 安装包
pip install vllm

# 3. 手动更新 requirements.txt(如果有)
pip freeze > requirements.txt

# 4. 手动更新 pyproject.toml(如果使用)
# 需要手动编辑文件添加依赖

(2)uv pip install vllm和pip install vllm相同
(3)从 requirements.txt 添加

uv add -r requirements.txt

3. 移除依赖

uv remove requests
uv remove --dev pytest

4. 锁文件和同步

# 生成锁文件
uv lock

# 同步环境到锁文件
uv sync

# 包含开发依赖
uv sync --dev

# 不安装包(仅创建环境)
uv sync --no-install

5. 运行命令

# 在项目环境中运行命令
uv run python script.py
uv run pytest
uv run black .

# 运行特定脚本
uv run -- script.py

3.5 Python 版本管理

# 安装特定 Python 版本
uv python install 3.12
uv python install 3.11.7

# 查看已安装的 Python
uv python list

# 查找可用的 Python 版本
uv python find 3.12

# 卸载 Python 版本
uv python uninstall 3.11

3.6 高级特性

1. 工具管理(替代 pipx)

# 安装工具
uv tool install ruff
uv tool install "black>=23.0"

# 运行临时工具
uvx ruff check .
uvx pycowsay "Hello UV!"

# 列出工具
uv tool list

# 卸载工具
uv tool uninstall ruff

2. 缓存管理

# 清理缓存
uv cache clean

# 查看缓存位置
uv cache dir

# 查看缓存大小
uv cache prune

3. 配置文件

UV 支持 pyproject.toml 配置:

[tool.uv]
# 默认索引 URL
index-url = "https://pypi.org/simple"

# 额外索引
extra-index-url = ["https://example.com/simple"]

# 并发下载数
concurrent-downloads = 50

# 缓存目录
cache-dir = "./custom-cache"

4. 工作区(Workspaces)

pyproject.toml 中定义:

[tool.uv.workspace]
members = ["packages/*"]

5. 加速镜像源配置

# 临时使用镜像
uv pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests

# 永久配置(环境变量)
export UV_INDEX_URL="https://pypi.tuna.tsinghua.edu.cn/simple"

3.7 从其他工具迁移

从 pip 迁移

# pip install -> uv pip install
# pip freeze -> uv pip freeze
# 无需特别改动,直接替换命令

从 Poetry 迁移

# 导出 poetry 依赖
poetry export -f requirements.txt -o requirements.txt

# 初始化 uv 项目
uv init --name my-project
uv add -r requirements.txt

从 pipenv 迁移

pipenv requirements > requirements.txt
uv init
uv add -r requirements.txt

您可能感兴趣的与本文相关的镜像

造相-Z-Image-Turbo 亚洲美女LoRA

造相-Z-Image-Turbo 亚洲美女LoRA

图片生成
Conda
Cuda

基于 **Z-Image-Turbo** 的图片生成 Web 服务,新增对 LoRA laonansheng/Asian-beauty-Z-Image-Turbo-Tongyi-MAI-v1.0 的按需加载支持与严格的后端内容策略

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值