跳转到主要内容

Python的虚拟环境管理器。

项目描述

uvenv - uv的工作流程工具。

uvenv 命令是 uv 命令的包装器。它提供了一个简单的界面来管理Python项目,受pipenv等工具的启发,但使用requirements.txtrequirements.in文件。

注意: 这是一个正在进行的 工作。某些功能可能尚未完全实现,并可能发生变化。

项目结构

uvenv 假设以下项目结构

  • requirements.in — 包含要安装的包的文件。
  • requirements.txt — 包含要安装的包的确切版本的锁文件。
  • .venv — 包含虚拟环境的目录。

uvenv 将自动通过在当前目录及其父目录中搜索这些文件来发现项目根目录。

环境变量

uvenv 允许您使用环境变量自定义关键文件和目录的位置

  • UVENV_REQUIREMENTS_IN: 指定要求输入文件的位置(默认:requirements.in
  • UVENV_REQUIREMENTS_TXT: 指定要求锁文件的位置(默认:requirements.txt
  • UVENV_VENV_DIR: 指定虚拟环境目录的位置(默认:.venv
  • UVENV_UV: 指定uv可执行文件的路径(默认:uv
  • UVENV_PYTHON: 指定要使用的Python解释器(默认:python

例如,要使用不同的名称来命名您的需求文件

$ export UVENV_REQUIREMENTS_IN=requirements-dev.in
$ export UVENV_REQUIREMENTS_TXT=requirements-dev.txt
$ export UVENV_VENV_DIR=~/.venvs/myproject

$ uvenv install

命令

uvenv 目前提供以下主要命令

  • uvenv install — 安装 requirements.in 中的软件包。
  • uvenv uninstall — 卸载 requirements.in 中的软件包。
  • uvenv lock — 生成或更新 requirements.txt 中的锁文件。

理念

  • 简洁性: uvenv 旨在为管理 Python 项目提供简单直观的界面。
  • 速度: uvenv 利用 uv 的速度进行依赖关系管理和虚拟环境创建。
  • 灵活性: uvenv 旨在灵活且支持各种项目结构和工作流程。
  • 兼容性: uvenv 旨在与各种 Python 版本和平台兼容。
  • 极简主义: uvenv 旨在保持极简并避免不必要的复杂性。
  • 强大功能: uvenv 旨在提供强大的功能来管理 Python 项目。
  • 社区: uvenv 旨在由社区驱动并开源。

功能

  • 自动查找项目根目录
  • 虚拟环境管理
  • 依赖关系安装和卸载
  • 需求锁定
  • 在虚拟环境中运行命令
  • 激活虚拟环境的交互式 shell

安装

要安装 uvenv,您需要 Python 3.6+ 和 uv。然后,您可以使用 pip 安装 uvenv

$ pip install uvenv-cli

用法

uvenv 提供以下命令

安装

安装依赖项或特定软件包

$ uvenv install
$ uvenv install <package1> <package2>

卸载

删除特定软件包

$ uvenv uninstall <package1> <package2>

锁定

生成或更新 requirements.txt

$ uvenv lock

帮助

显示帮助信息

$ uvenv --help

项目结构

uvenv 期望您的项目在项目根目录下具有 requirements.txtrequirements.in 文件。它将自动通过在当前目录及其父目录中搜索这些文件来查找项目根目录。

用法

  1. 启动新项目

    $ mkdir myproject
    $ cd myproject
    $ echo "requests==2.26.0" > requirements.in
    $ uvenv install
    
  2. 添加新软件包

    $ uvenv install numpy
    
  3. 删除软件包

    $ uvenv uninstall requests
    
  4. 更新已锁定需求

    $ uvenv lock
    

即将推出的功能

  1. 运行 Python 脚本

    $ uvenv run python myscript.py
    
  2. 启动交互式 shell

    $ uvenv shell
    

贡献

欢迎贡献!请随时提交 Pull Request。

许可证

此项目将根据 MIT 许可证授权。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关 安装软件包 的更多信息。

源代码分发

uvenv_cli-0.1.1.tar.gz (8.5 kB 查看哈希值)

上传时间 源代码

构建分发

uvenv_cli-0.1.1-py2.py3-none-any.whl (7.5 kB 查看哈希值)

上传时间 Python 2 Python 3

支持者