uv虚拟环境起名
1) 给虚拟环境(venv)起名“telbot”
uv venv
默认建在当前目录的 .venv/
。想自定义名称,直接把路径作为位置参数给出即可,比如放到 ./telbot
:
uv venv --python 3.13 telbot
-
这样会在当前目录创建
telbot/
这个虚拟环境,命令行提示符里的环境名也会用这个目录名。(Astral Docs) -
注意:
uv
只会自动发现名为.venv/
的环境;如果你用自定义名(如telbot/
),建议在项目根设置:- macOS/Linux:
export UV_PROJECT_ENVIRONMENT=telbot
- PowerShell:
$env:UV_PROJECT_ENVIRONMENT="telbot"
这样uv run/uv sync
会把telbot/
当作项目环境使用。(Astral Docs)
- macOS/Linux:
小技巧:如果你还是用
.venv/
,但想让提示符显示为项目名,可以在项目根执行:uv venv --python 3.13 .
这会把 venv 放在
.venv/
,但提示符采用“当前目录名”作为环境名。(Astral Docs)
2) 给项目本身命名为“telbot”(pyproject.toml
)
这是“包/项目名”,不是 venv 名。在 pyproject.toml
里写:
[project]
name = "telbot"
requires-python = ">=3.13,<3.14"
name
是项目名(将来上 PyPI 也是这个字段)。(packaging.python.org)requires-python
约束用 3.13(最新版小版本都可)。(Astral Docs)- 可再配合
uv python pin 3.13
在项目根生成.python-version
,让uv run/sync
一律用 3.13。(Astral Docs)
一句配好版(你现在就可以敲)
# 在项目根:用 3.13 创建名为 telbot 的 venv
uv venv --python 3.13 telbot# 让 uv 默认识别这个自定义环境名
export UV_PROJECT_ENVIRONMENT=telbot # macOS/Linux
# 或 PowerShell:
# $env:UV_PROJECT_ENVIRONMENT="telbot"# (可选)固定项目解释器到 3.13
uv python pin 3.13