Единственная конфигурация pip, которую необходимо иметь

При установке пакетов python всегда следует использовать виртуальную среду. pip облегчает эту задачу, добавляя некоторые настройки в pip.

require-virtualenv

Pip – это инструмент пакетирования для python. Он устанавливает пакеты сторонних разработчиков и является настраиваемым. Один из параметров конфигурации, который я настоятельно рекомендую всем добавить, это require-virtualenv. Это не позволит pip устанавливать какие-либо пакеты, если у вас не активирован virtualenv.

зачем

Пакеты python часто требуют множество различных зависимостей, иногда пакеты обновляются, а иногда требуют различные версии зависимостей. Если вы устанавливаете все в одном окружении, легко получить проблемы с конфликтом версий, которые очень трудно решить, особенно если ваше системное окружение не может быть легко перезапущено.

PIPX – мое единственное исключение

Мое единственное исключение, которое я помещаю в пакеты системного уровня – это pipx. pipx очень удобен, поскольку он управляет виртуальными окружениями за вас и предназначен для утилит командной строки, которые без него оказались бы в системном env или потребовали бы от вас ручного управления виртуальными окружениями.

конфигурация pip

Конфиг вашего pip может быть найден в ~/.pip/pip.conf или

отредактируйте один из этих файлов вручную.

pip config set global.require-virtualenv True
Войти в полноэкранный режим Выйти из полноэкранного режима

Теперь вы должны увидеть следующее в вашем ~/.config/pip/pip.conf

[global] require-virtualenv = True
Войти в полноэкранный режим Выйти из полноэкранного режима

pip config debug

Если вы хотите узнать, где pip ищет конфигурацию в вашей системе, и какие файлы задают определенную конфигурацию, вы можете использовать pip config debug, чтобы найти ее.

❯ pip config debug

env_var: env: global:
  /etc/xdg/xdg-awesome/pip/pip.conf, exists: False
  /etc/xdg/pip/pip.conf, exists: False
  /etc/pip.conf, exists: False
site:
  /home/waylon/git/waylonwalker.com/.venv/pip.conf, exists: False
user:
  /home/waylon/.pip/pip.conf, exists: False
  /home/waylon/.config/pip/pip.conf, exists: True
    global.require-virtualenv: True
Вход в полноэкранный режим Выход из полноэкранного режима

спас мой бекон

Эта настройка недавно спасла меня, когда я изменил файл .envrc, моя виртуальная среда деактивировалась, и когда я пошел устанавливать что-то с помощью pip, он выдал мне ошибку, что она не активна. Подобные ситуации – простой способ загрязнить вашу систему пакетами, которые ей не нужны.

TLDR

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

pip config set global.require-virtualenv True
Войти в полноэкранный режим Выход из полноэкранного режима

Оцените статью
Procodings.ru
Добавить комментарий