Установка python 3 для разработки
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