К примеру как работать с pip через командную строку понятно:
pip install some_package
А вот как можно проверить установлен ли определенный пакет или нет, и если не установлен то установить его, и все это чтобы выполнялось в python скрипте?
Ответ
Рекомендованный путь использования pip внутри скрипта — запуск pip как внешней команды:
#!/usr/bin/env python
import subprocess
import sys
package = 'some_package'
subprocess.check_call([sys.executable, '-m', 'pip', 'install', package])
Если пакет не установлен, то эта команда попытается его установить. Если пакет установлен, то более новая версия не будет ставиться. Если хотите самую новую версию поставить, то --upgrade можно передать
Отдельно команду по проверке установлен или нет пакет, если вы хотите чтобы у вас был установлен этот пакет, нет необходимости запускать.
Если не хотите видеть вывод pip команды, можно stdout=subprocess.DEVNULL передать. Чтобы stderr в то же место перенаправить, можно stderr=subprocess.STDOUT использовать.
Комментариев нет:
Отправить комментарий