Узнайте, установлена ​​ли программа из сценария Python3

Открыть открытые расширения Firefox Нажмите Получить надстройки Тип Adblock Plus в поле поиска Выберите Adblock Plus Нажмите Установить

ims http://www.go-remove-malware.com/wp-content /uploads/2014/09/firefox-menu.png

ims http://www.go-remove-malware.com/wp-content/uploads/2014/09/firefox-menu .png

Альтернатива: вы также можете использовать uBlock Origin. uBlock имеет больше возможностей настройки и использует меньше системных ресурсов.

6
задан 18 April 2011 в 18:24

40 ответов

Я бы принял другой подход. Чтобы проверить, доступен ли Git в данной системе, проверьте, существует ли двоичный файл git в PATH пользователя или просто попытайтесь выполнить git -version . Эта проверка будет более надежной и поддерживает людей, которые (по какой-либо причине) устанавливают Git из источника в / usr / local / bin или даже ~ / bin.

Это не прямой ответ на ваш вопрос, но я надеюсь, что это все равно поможет. Если вам нужна помощь в кодировании, что в Python, дайте мне знать, и я предоставлю более подробную информацию.

0
ответ дан 10 August 2018 в 09:57

Вы также можете попробовать проверить выход , который .

(Может быть, это не сработает, как никто другой не предложил?)

0
ответ дан 10 August 2018 в 09:57

Вы можете использовать apt-модуль python, но он проверяет только, установлен ли пакет. Это приведет к сбою не-deb-рассылок или если он установлен за пределами менеджера пакетов:

  import apt cache = apt.Cache () cache.open () cache ["git-core"]. Is_installed #  Вычисляет true, если git установлен  

Попробуйте запустить git и обработать исключение, если оно не выполнено:

  import subprocess try: # pipe output to / dev /  null для молчания null = open ("/ dev / null", "w") subprocess.Popen ("git", stdout = null, stderr = null) null.close () кроме OSError: print ("git not found")   

Третий вариант - попробовать все пути в $ PATH и проверить, есть ли у вас разрешение exec на пути / git.

4
ответ дан 10 August 2018 в 09:57

Если вы хотите сделать это, вы можете сделать что-то вроде:

 checkvar = 0 для строки в открытом («имя файла»): если «git» в строке: checkvar = checkvar + 1 print  «Фраза git found», checkvar, «times» 
0
ответ дан 10 August 2018 в 09:57

Ищите установленные файлы

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

  #!  / usr / bin / env python3 # # Состояние пакета запроса по пути установки import os.path path = '/ usr / bin / git' def query_package (путь): if os.path.exists (путь): print ('Git is  готово к использованию ') else: print (' install install Git ')  

Обратитесь к DPKG

Другой способ запросить установленные пакеты, однако, - это обратиться к управлению пакетами в наш случай dpkg:

  #!  / usr / bin / env python3 # # Состояние пакета запроса с помощью пакета подпроцессов импорта dpkg = 'git' def query_package (package): status = subprocess.getstatusoutput ("dpkg-query -W -f = '$ {Status}'"  + пакет), если не статус [0]: печать (статус [1]) # пакет установлен else: print (статус [1])  
1
ответ дан 10 August 2018 в 09:57

Я бы принял другой подход. Чтобы проверить, доступен ли Git в данной системе, проверьте, существует ли двоичный файл git в PATH пользователя или просто попытайтесь выполнить git -version . Эта проверка будет более надежной и поддерживает людей, которые (по какой-либо причине) устанавливают Git из источника в / usr / local / bin или даже ~ / bin.

Это не прямой ответ на ваш вопрос, но я надеюсь, что это все равно поможет. Если вам нужна помощь в кодировании, что в Python, дайте мне знать, и я предоставлю более подробную информацию.

0
ответ дан 13 August 2018 в 16:16
  • 1
    Кажется разумным, но как я могу заставить python регистрировать, действительно ли git существует? – Eden Crow 19 April 2011 в 15:32
  • 2
    Попробуйте запустить его с помощью subprocess.Popen () и обработать исключение, если оно не выполнено. Я обновил свой ответ. – Egil 19 April 2011 в 16:15
  • 3
    @Egil Добро пожаловать :) – Adam Byrtek 19 April 2011 в 23:13

Вы также можете попробовать проверить выход , который .

(Может быть, это не сработает, как никто другой не предложил?)

0
ответ дан 13 August 2018 в 16:16
  • 1
    , который является встроенной оболочкой, поэтому вам придется сначала порождать оболочку. – Adam Byrtek 19 April 2011 в 23:16
  • 2
    / usr / bin /, который не является встроенной оболочкой, если только я не ошибаюсь. – Broam 21 April 2011 в 19:27
  • 3
    Правильно, это встроенный только в Zsh (который я использую). Извини за это. – Adam Byrtek 21 April 2011 в 22:58

Вы можете использовать apt-модуль python, но он проверяет только, установлен ли пакет. Это приведет к сбою не-deb-рассылок или если он установлен за пределами менеджера пакетов:

  import apt cache = apt.Cache () cache.open () cache ["git-core"]. Is_installed #  Вычисляет true, если git установлен  

Попробуйте запустить git и обработать исключение, если оно не выполнено:

  import subprocess try: # pipe output to / dev /  null для молчания null = open ("/ dev / null", "w") subprocess.Popen ("git", stdout = null, stderr = null) null.close () кроме OSError: print ("git not found")   

Третий вариант - попробовать все пути в $ PATH и проверить, есть ли у вас разрешение exec на пути / git.

4
ответ дан 13 August 2018 в 16:16

Если вы хотите сделать это, вы можете сделать что-то вроде:

 checkvar = 0 для строки в открытом («имя файла»): если «git» в строке: checkvar = checkvar + 1 print  «Фраза git found», checkvar, «times» 
0
ответ дан 13 August 2018 в 16:16

Ищите установленные файлы

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

  #!  / usr / bin / env python3 # # Состояние пакета запроса по пути установки import os.path path = '/ usr / bin / git' def query_package (путь): if os.path.exists (путь): print ('Git is  готово к использованию ') else: print (' install install Git ')  

Обратитесь к DPKG

Другой способ запросить установленные пакеты, однако, - это обратиться к управлению пакетами в наш случай dpkg:

  #!  / usr / bin / env python3 # # Состояние пакета запроса с помощью пакета подпроцессов импорта dpkg = 'git' def query_package (package): status = subprocess.getstatusoutput ("dpkg-query -W -f = '$ {Status}'"  + пакет), если не статус [0]: печать (статус [1]) # пакет установлен else: print (статус [1])  
1
ответ дан 13 August 2018 в 16:16

Другие вопросы по тегам:

Похожие вопросы: