Skip to main content

pydvenv - Python Directory Virtual Environment

Описание

pydvenv - это инструмент командной строки для создания директорий с Python виртуальными окружениями. Он объединяет создание виртуального окружения, инициализацию Git-репозитория, установку зависимостей из requirements файлов и другие полезные функции в одной команде.

Установка

pip install pydvenv

Использование

Базовое использование

pydvenv

Создаст виртуальное окружение .venv в текущей директории.

С указанием параметров

pydvenv my_project my_venv

Создаст директорию my_project с виртуальным окружением my_venv внутри.

Параметры командной строки

Позиционные аргументы

  • base_dir (опционально) - Базовая директория для создания виртуального окружения (по умолчанию: текущая директория)
  • env_name (опционально) - Имя виртуального окружения (по умолчанию: .venv)

Флаги создания виртуального окружения

  • --clear, --rewrite, -c - Удалить содержимое директории окружения, если она уже существует, перед созданием
  • --system-site-packages, --system, -s - Дать виртуальному окружению доступ к системным site-packages
  • --symlinks, -S, -L - Использовать символические ссылки вместо копирования (если это не поведение по умолчанию для платформы)
  • --copies, -C - Использовать копирование файлов вместо символических ссылок (даже если символические ссылки являются поведением по умолчанию для платформы)
  • --without-pip, -P - Пропустить установку pip в виртуальном окружении
  • --upgrade-deps, -u - Обновить основные зависимости (pip) до последней версии в PyPI
  • --prompt, -p <текст> - Указать альтернативный префикс для prompt окружения Примечание: Флаги --symlinks и --copies являются взаимоисключающими. Если не указан ни один из них, используется поведение по умолчанию для платформы.

Дополнительные функции

  • --create-git-repository, --create-git, --init-git-repository, --init-git, -g - Создать Git репозиторий. Папка виртуального окружения автоматически добавляется в .gitignore
  • --return-to-cwd, -R - Вернуться в текущую директорию после выполнения
  • --requirements, -r [файл] - Установить Python пакеты из указанного requirements файла. Можно использовать несколько раз. Если указан без аргумента - используется requirements.txt

Управление выводом

  • --verbose, -V, --logging, --log, -l - Включить логирование
  • --debug-logging, --debug, -d - Включить отладочное логирование

Информационные флаги

  • --version, -v - Показать версию программы

Примеры использования

Пример 1: Базовое создание проекта

pydvenv my_new_project

Создаст директорию my_new_project с виртуальным окружением .venv внутри.

Пример 2: Создание с Git репозиторием

pydvenv my_project venv --create-git-repository

Создаст проект с Git репозиторием и добавит venv в .gitignore.

Пример 3: С установкой зависимостей

pydvenv --requirements requirements.txt --requirements dev-requirements.txt

Создаст виртуальное окружение и установит зависимости из двух файлов.

Пример 4: С использованием всех возможностей

pydvenv my_project my_env \
  --system-site-packages \
  --create-git-repository \
  --requirements requirements.txt \
  --prompt "my_project" \
  --verbose

Особенности работы

Автоматическое управление .gitignore

При использовании флага --create-git-repository, pydvenv:

  1. Создает Git репозиторий (git init)
  2. Создает или обновляет файл .gitignore
  3. Автоматически добавляет имя виртуального окружения в .gitignore

Обработка requirements файлов

  • Поддерживаются локальные файлы и URL
  • Можно указать несколько requirements файлов
  • При использовании относительных путей, они разрешаются относительно исходной директории
  • Для URL поддерживаются стандартные форматы (https://, git+ и др.)

Кроссплатформенность

  • Автоматически определяет платформу (Windows/Linux/macOS)
  • Корректно формирует пути к скриптам (Scripts на Windows, bin на Unix-системах)

Требования

  • Python >= 3.10
  • Доступ к команде git (только при использовании флага --create-git-repository)

Разработка

Установка из исходников

git clone https://github.com/MagIlyasDOMA/pydvenv.git
cd pydvenv
pip install -e .[dev]

Зависимости для разработки

Указываются в файле dev_requirements.txt.

Лицензия

MIT License

Автор

Маг Ильяс DOMA (MagIlyasDOMA)

Ссылки


Примечание: Для активации созданного виртуального окружения следуйте инструкциям, которые выводятся после создания, или используйте стандартные команды для вашей операционной системы. Опция --copies особенно полезна при работе с сетевыми файловыми системами или файловыми системами, которые не поддерживают символические ссылки.

Metadata

Release files for pydvenv 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pydvenv 1.0.0
File Size Uploaded
pydvenv-1.0.0.tar.gz 7.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pydvenv 1.0.0
File Interpreter ABI Platform
pydvenv-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 14.7 kB

Release files / pydvenv-1.0.0.tar.gz

Download URL pydvenv-1.0.0.tar.gz
Size 7.8 kB
Tags Source
SHA-256 checksum
How to use checksums
55966c8d2a94c52af67b2228373453c55c6b0e60ae92c6005a1ec5cfef4fc6a2
BLAKE2b-256 checksum
How to use checksums
806557ac50d4599840a1f44b76c2d18cb20c0c43e2a6bca0a349f901c8a2a91c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release files / pydvenv-1.0.0-py3-none-any.whl

Download URL pydvenv-1.0.0-py3-none-any.whl
Size 7.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5f2e19dcf77a919bf53809893dd027ed374fbf2356d18b99f43b8d418cdf4419
BLAKE2b-256 checksum
How to use checksums
4a5da1492a3fd8c92542b5078d0a53b0f766455b92f0f69ad2f8c931303e8705
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.2

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page