Установка python 3 для разработки

Опубликовано admin в

sudo apt update -y

install python3 and dev headers

sudo apt install -y python3 python3-dev

pip is great

sudo apt install -y python3-pip

for cryptography (required by twisted[tls])

sudo apt-get install -y libssl-dev libffi-dev

for lxml

sudo apt-get install -y libxml2-dev libxslt1-dev

for PostgreSQL

sudo apt install -y libpq-dev

install virtualenv

sudo pip3 install virtualenv

Изолированный инструмент по управлению пакетами pipx

Ставим глобально pipx

python -m pip install --user pipx

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

  • Установка пакета: pipx install package-name
  • Запуск команды из установленного пакета: package-name command
  • Обновление установленных пакетов: pipx upgrade-all
  • Удаление пакета: pipx uninstall package-name
  • Список установленных пакетов: pipx list

Активация проекта

python -m pipx ensurepath

Виртуальное окружение

Окружение нам надо чтоб изолировать проекты один от другого, это позволит использовать свои переменные окружения и отдельную версию пайтон для каждого отдельного проекта

Стандартный способ

python -m venv ./

source ./bin/activate

Работа с зависимостями

Есть основной способ получить зависимости проекта

pip freeze > requirements.txt

Ставим утилиту для генерации зависимостей

pip install pipreqs

Создать файл с зависимостями

Выполните следующую команду, чтобы создать файл requirements.txt со всеми зависимостями проекта:

pipreqs . --force

Здесь точка («.») означает текущую директорию. Флаг «—force» гарантирует перезапись существующего файла requirements.txt, если он уже существует.

Обновить зависимости

pip install -r requirements.txt

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

Данный пакет позволяет управлять окружение и зависимостями проекта.

Официальная документация

Установка

pipx install poetry

Инициализация

poetry init

Отвечаем на вопросы и получим pyproject.toml

Разворачивание существующего проекта

poetry install

Добавление пакетов

poetry add pandas==0.25.3

или

poetry add pandas

пакеты для разработки с флагом —dev

poetry add pdbpp==0.10.2 --dev 
poetry add black==19.10b0 --dev

и полученные пакеты будут добавлены в раздел tool.poetry.dev-dependencies

Про версионность пакетов можно почитать тут

К примеру можно указать диапазон версий для python, от 3.10 до 3.13 так

python = ">= 3.10, <3.13"

это часто требуют пакеты

Запуск кода через poetry

poetry run python data.py

Запуск оболочки

poetry shell

Конфигурация

Создавать виртуальное пространство в папке с проектом

poetry config virtualenvs.in-project true

Рубрики: Python