Мне нужно установить пакет из PyPI прямо в мой скрипт.
Может быть, есть какой-нибудь модуль или distutils (distribute, pip и т.д.) Функция, которая позволяет мне просто выполнять что-то вроде pypi.install('requests') и запросы будут установлены в мой virtualenv?
Переведено автоматически
Ответ 1
Официально рекомендуемый способ установки пакетов из скрипта - это вызов интерфейса командной строки pip через подпроцесс. Большинство других ответов, представленных здесь, не поддерживаются pip. Кроме того, начиная с версии pip 10, весь код был перенесен в pip._internal именно для того, чтобы пользователям было ясно, что программное использование pip запрещено.
Используйте sys.executable, чтобы гарантировать, что вы вызовете тот же самый модуль, pip связанный с текущей средой выполнения.
Если вы установили пакет от имени пользователя, вы можете столкнуться с проблемой, заключающейся в том, что вы не можете просто импортировать пакет. Смотрите Как обновить sys.path? для получения дополнительной информации.