跳转到主要内容

(已弃用)为pdm提供虚拟环境管理的插件

项目描述

pdm-venv

Tests pypi version pre-commit Code style: black

为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

冒号(:)前的名称是虚拟环境的键,用于下面的removeactivate命令。

删除虚拟环境

$ 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

激活虚拟环境

pipenvpoetry 创建子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 usepdm init 命令的解释器列表中。

此外,如果 pdm 通过检查 VIRTUAL_ENV 环境变量检测到它处于一个活动虚拟环境中,它将重用该虚拟环境进行后续操作。

虚拟环境自动创建

如果没有为项目选择Python解释器,pdm-venv 将负责为你创建一个,并自动选择venv解释器,就像 pipenvpoetry 一样。另外,如果配置项 venv.in_projectTruepdm-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 (13.6 kB 查看哈希值)

上传时间

构建分布

pdm_venv-0.6.0-py3-none-any.whl (13.3 kB 查看哈希值)

上传时间 Python 3

支持者:

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面