跳转到主要内容

管理flit项目的venv

项目描述

flitenv

管理venvsflit项目的依赖项。

功能

  • 支持PEP 621中描述的最现代元数据格式。
  • 使用pip-tools锁定依赖项。
  • 每个项目支持多个venv,以确保环境的更好隔离。
  • 无供应商锁定,底层使用流行的良好维护的技术和工具无关格式。
  • 跨平台。
  • 经过实战检验。

安装

python3 -m pip install flitenv

使用

基础

  1. 项目将元数据存储在flit兼容的格式中,如flit文档中所述。推荐使用PEP 621中引入的新[project]部分。
  2. 项目直接需要的生产依赖项在dependencies列表中描述。此环境称为main
  3. 开发环境在[project.optional-dependencies]部分中描述。此类环境的良好示例是testlintdoc
  4. 对于每个环境,flitenv将在.venvs中创建一个单独的venv,以确保良好的隔离。
  5. “锁定文件”是一个文件,包含给定环境中项目所有依赖项的确切版本,包括传递依赖项。
  6. flitenv 使用由 requirements.txt 文件生成的 pip-tools 作为锁定文件。
  7. 建议只为 main 环境(仅此环境)生成锁定文件。
  8. 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 查看哈希值)

上传时间 Python 3

由以下组织支持

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