Установка python 3 для разработки
sudo apt update -yinstall python3 and dev headers
sudo apt install -y python3 python3-devpip is great
sudo apt install -y python3-pipfor cryptography (required by twisted[tls])
sudo apt-get install -y libssl-dev libffi-devfor lxml
sudo apt-get install -y libxml2-dev libxslt1-devfor PostgreSQL
sudo apt install -y libpq-devinstall 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