8个版本 (3个稳定版)
2.0.2 | 2021年8月1日 |
---|---|
2.0.0 | 2021年7月18日 |
0.1.5 | 2021年1月15日 |
#1433 in 开发工具
59KB
1.5K SLoC
简单的Python虚拟环境管理
venv-wrapper是一个方便的工具,帮助您管理Python虚拟环境。它曾是一个围绕python内置的venv
模块的包装器,但现在已经不再是这样,从venv
需要的特性已经在Rust中重新实现了。
安装
Cargo和crates.io
- 安装rust (https://rust-lang.net.cn/tools/install)。
- 将
cargo
的二进制路径添加到您的PATH
环境变量。- 通常二进制路径是
~/.cargo/bin
。
- 通常二进制路径是
- 运行
cargo install venv-wrapper
。
Arch Linux
您可以从AUR安装venv-wrapper。
$ paru -S venv-wrapper-bin
Homebrew
$ brew install marier-nico/packages/venv-wrapper
PPA
即将推出!
入门指南
- 安装后,请确保您可以使用
venv-wrapper
命令(它应该在您的shell的$PATH
中)。 - 然后,您需要设置您的shell以使用venv-wrapper。为此,编辑您的shell启动配置文件(
~/.bashrc
、~/.zshrc
、~/.config/fish/config.fish
)并在其中添加以下内容:
Bash
eval "$(venv-wrapper init bash)"
venv completions # Optional, if you want shell completions
ZSH
eval "$(venv-wrapper init zsh)"
venv completions # Optional, if you want shell completions
Fish
venv-wrapper init fish | source
venv completions # Optional, if you want shell completions
配置
您可以使用配置文件、环境变量或CLI标志来配置venv-wrapper。
可用的配置值
venv_root
:存储所有虚拟环境的目录(默认为~/.virtualenvs
)。
配置文件
配置内容
该配置文件是一个简单的ini
文件,不包含任何部分,如下所示:
venv_root = /home/me/.non-default-location
注意:配置中的路径必须是绝对路径,否则您可能会不小心将虚拟环境放置在您不打算放置的地方。
配置位置
配置文件的存储位置取决于您选择的平台。有关具体实现细节,请参阅 directories 包。
-
Linux
遵循 XDG 用户目录 规范。默认情况下,配置文件应位于
~/.config/venv-wrapper/config.ini
。 -
macOS
使用 标准目录。默认情况下,配置文件应在
~/Library/Application support/venv-wrapper/config.ini
环境变量
请注意,此处路径不需要是绝对路径,因为您的shell将执行路径展开。如果您的shell不展开路径,则您需要路径是绝对路径。
VENVWRAPPER_VENV_ROOT=~/.a-different-venvs-directory venv ls
CLI 标志
与环境变量相同,这里不需要绝对路径,除非您的shell不展开路径。
venv-r~/.a-不同-venvs-目录 venv ls
Shell 兼容性
以下shell完全受支持,并且应该都能正常工作
- Bash
- ZSH
- Fish
然而,除了shell补全之外的所有功能都应在大多数类似bash的shell中正常工作。
Shell 补全
默认情况下,shell补全未激活,但启用它们非常简单。您只需运行
$ venv completions
注意:在激活补全之前,您必须在shell中初始化venv-wrapper。
贡献
入门指南
主要应该安装 pre-commit 并运行 pre-commit install
来确保您的提交符合要求!此外,您的提交应遵循 常规提交。为此,您可以使用诸如 commitizen 这样的工具,它将帮助确保所有提交看起来都很好。
提交约定最近才添加,因此大多数提交尚未符合要求!
缺少的功能
在其当前状态下,此项目并不完全符合 virtualenvwrapper
的功能。缺少的功能如下
- 复制虚拟环境
- 可自定义的钩子
- 创建可共享扩展的插件系统
发布版本
要发布新版本,需要遵循一些简单的步骤。
- 在仓库根目录中创建或编辑
RELEASE_CHANGELOG.md
文件(包含发布版本的历史记录)。- 这将成为GitHub发布的内容
- 更新
cargo.toml
和src/cli/get_app.rs
中的版本。 - 将所有要发布的代码合并到
main
。 - 为
main
分支的头部创建一个新标签。gittag -svX.Y.Z -m "发布 vX.Y.Z"
- 推送新标签。
gitpush --tags
- 发布创建后,请更新此处 的homebrew公式。
依赖项
~6–15MB
~159K SLoC