(已弃用)为pdm提供虚拟环境管理的插件
项目描述
pdm-venv
为pdm提供虚拟环境管理的插件
弃用警告
在2.0.0之后,venv支持将被集成到pdm
中。此项目不再必要,也不会再维护。它支持的最后一个PDM版本是1.15
。
需求
pdm-venv需要Python>=3.7
安装
在PDM 1.6.4+上,您可以通过以下方式直接安装插件
$ pdm plugin add pdm-venv
如果pdm
是通过pipx(推荐方式)安装的,则运行
$ pipx inject pdm pdm-venv
否则,如果pdm
是通过Homebrew安装的,则运行
$ $(brew --prefix pdm)/libexec/bin/pip install pdm-venv
或者使用pip
将插件安装到用户站点
$ python -m pip install --user pdm-venv
请注意,pdm-venv
必须安装在与pdm
相同的环境中。
使用
pdm-venv
通过支持虚拟环境的创建和管理来增强pdm
的CLI。安装pdm-venv
后,python.use_venv
的默认值将变为True
,您可以通过pdm config python.use_venv false
禁用整个插件。
创建虚拟环境
# Create a virtualenv based on 3.8 interpreter
$ pdm venv create 3.8
# Assign a different name other than the version string
$ pdm venv create --name for-test 3.8
# Use venv as the backend to create, support 3 backends: virtualenv(default), venv, conda
$ pdm venv create --with venv 3.9
列出此项目创建的所有虚拟环境
$ pdm venv list
Virtualenvs created with this project:
- 3.8.6: C:\Users\Frost Ming\AppData\Local\pdm\pdm\venvs\test-project-8Sgn_62n-3.8.6
- for-test: C:\Users\Frost Ming\AppData\Local\pdm\pdm\venvs\test-project-8Sgn_62n-for-test
- 3.9.1: C:\Users\Frost Ming\AppData\Local\pdm\pdm\venvs\test-project-8Sgn_62n-3.9.1
冒号(:)前的名称是虚拟环境的键,用于下面的remove
和activate
命令。
删除虚拟环境
$ pdm venv remove for-test
Virtualenvs created with this project:
Will remove: C:\Users\Frost Ming\AppData\Local\pdm\pdm\venvs\test-project-8Sgn_62n-for-test, continue? [y/N]:y
Removed C:\Users\Frost Ming\AppData\Local\pdm\pdm\venvs\test-project-8Sgn_62n-for-test
激活虚拟环境
与 pipenv
和 poetry
创建子shell不同,pdm-venv
不为你创建shell,而是将激活命令打印到控制台。这样你不会丢失那些花哨的shell特性。然后你可以将输出传递给 eval
来激活虚拟环境,而无需离开当前shell。
Bash/csh/zsh
$ eval $(pdm venv activate for-test)
(test-project-8Sgn_62n-for-test) $ # Virtualenv entered
Fish
$ eval (pdm venv activate for-test)
Powershell
PS1> Invoke-Expression (pdm venv activate for-test)
你可以创建自己的shell快捷函数来避免输入长命令。以下是一个Bash的示例。
pdm_venv_activate() {
eval $('pdm' 'venv' 'activate' "$1")
}
然后你可以通过 pdm_venv_activate $venv_name
激活它,并通过 deactivate
直接注销。
此外,如果保存的Python解释器是venv Python,你可以省略 activate
后面的名称参数。
切换Python解释器
当 pdm-venv
启用时,与venvs关联的Python解释器也会显示在 pdm use
或 pdm init
命令的解释器列表中。
此外,如果 pdm
通过检查 VIRTUAL_ENV
环境变量检测到它处于一个活动虚拟环境中,它将重用该虚拟环境进行后续操作。
虚拟环境自动创建
如果没有为项目选择Python解释器,pdm-venv
将负责为你创建一个,并自动选择venv解释器,就像 pipenv
和 poetry
一样。另外,如果配置项 venv.in_project
为 True
,pdm-venv
将在 ${PROJECT_ROOT}/.venv
下创建虚拟环境。
配置
配置项 | 描述 | 默认值 | 在项目中可用 | 环境变量 |
---|---|---|---|---|
venv.location |
存储虚拟环境的根目录 | appdirs.user_data_dir() / "venvs" |
否 | |
venv.backend |
创建虚拟环境时使用的默认后端 | virtualenv |
否 | |
venv.in_project |
在项目根目录下的 .venv 中创建虚拟环境 |
否 |
是 | PDM_VENV_IN_PROJECT |
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源分布
构建分布
pdm-venv-0.6.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 962a336d53a86b5302a7cb90eba836f1a2b08e8f0fe02ad28bf1b19ce5d9cf88 |
|
MD5 | 4928cfaf2f927dd948ff47fa212ee765 |
|
BLAKE2b-256 | e2a9583e088f5ddf22d1c1f4ceb566932b282a48f897ac8d561ce5410a5eeb65 |
pdm_venv-0.6.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0034c689b142e61eb8f0fe64f05b91dcf4d9325ec5415c413170eb8829ed3cbd |
|
MD5 | a2094be414314069e83b43be8d5326ef |
|
BLAKE2b-256 | ecc032ac9120ff973cad04497b8ac0f1b45e721a21fafcb21286fb62fcbec949 |