管理flit项目的venv
项目描述
flitenv
功能
- 支持PEP 621中描述的最现代元数据格式。
- 使用pip-tools锁定依赖项。
- 每个项目支持多个venv,以确保环境的更好隔离。
- 无供应商锁定,底层使用流行的良好维护的技术和工具无关格式。
- 跨平台。
- 经过实战检验。
安装
python3 -m pip install flitenv
使用
基础
- 项目将元数据存储在flit兼容的格式中,如flit文档中所述。推荐使用PEP 621中引入的新
[project]
部分。 - 项目直接需要的生产依赖项在
dependencies
列表中描述。此环境称为main
。 - 开发环境在
[project.optional-dependencies]
部分中描述。此类环境的良好示例是test
、lint
和doc
。 - 对于每个环境,flitenv将在
.venvs
中创建一个单独的venv,以确保良好的隔离。 - “锁定文件”是一个文件,包含给定环境中项目所有依赖项的确切版本,包括传递依赖项。
- flitenv 使用由 requirements.txt 文件生成的 pip-tools 作为锁定文件。
- 建议只为
main
环境(仅此环境)生成锁定文件。 - flitenv 遵循 flit 哲学。它只提供最有帮助和最灵活的命令,你可以通过将它们与其他工具组合使用来做到任何你需要做的事情。
以下是一些用法示例。每个示例都使用 lint
作为目标环境,并使用 flake8
作为在这个环境中要运行的命令。
flitenv install lint
:安装依赖项。如果虚拟环境不存在,则会创建。也可以在锁定文件已更改时用于升级依赖项。flitenv run lint flake8
:运行命令。如果虚拟环境不存在,则会创建,并安装依赖项。flitenv lock lint
:为环境生成锁定文件(requirements-lint.txt
)。flitenv main lock
:为主环境生成锁定文件(requirements.txt
)。如果没有特定环境的锁定文件,则使用此文件。flitenv main lock -c ../other-project/requirements.txt
:使用其他项目的锁定文件作为参考生成锁定文件。这确保了多个项目之间锁定文件的兼容性。rm requirements.txt && flitenv main lock
:升级锁定文件中的所有依赖项。rm -rf .venvs/lint && flitenv install lint
:重新创建虚拟环境。这有助于确保所有旧的依赖项。flit build
:为项目构建一个发行版。flit install --symlink --python $(which python3.9) --deps=none
:将项目符号链接到给定的 Python 解释器而不安装依赖项。如果你想在多个项目之间在 vscode 中有好的跳转到定义功能,这很有帮助。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解更多关于 安装包 的信息。
源发行版
flitenv-0.4.0.tar.gz (10.5 kB 查看哈希值)
构建发行版
flitenv-0.4.0-py3-none-any.whl (11.8 kB 查看哈希值)
关闭
flitenv-0.4.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 737f07f3e58e453ad0b46db59b4a4ade02a5016ddbbb62f8fd414d54b8379da1 |
|
MD5 | b1bb2b0c74f33960e7bcd73e9dcbb308 |
|
BLAKE2b-256 | 62ef7084d1601ac972a2bd63e48c6b29dbd222ac68c70b65257336128ba99a4e |
关闭
flitenv-0.4.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6a6ded123ca3545851a045cdffc7e82f6a46640fd0488f88df7b751d0b2bd6f6 |
|
MD5 | 96b83e7072b7eeba20503781d32c3629 |
|
BLAKE2b-256 | f04029af88c32930ddf237dcb837d6b6a480ef43725a0822b6ae92713c451b56 |