Уведомления

Группа в Telegram: @pythonsu

#1 Май 20, 2015 10:13:11

Chocobo
Зарегистрирован: 2014-10-07
Сообщения: 14
Репутация: +  1  -
Профиль   Отправить e-mail  

автоматизация установки модулей

Добрый день!

Подскажите пожалуйста такой момент:

Хочу написать скрипт-“установщик” который разворачивал бы рабочие скрипты на сервере.
В начале проверил бы наличие всех необходимых модулей, например:

try: 
    import setuptools 
except ImportError:
    ...

столкнулся с тем, что не могу пока понять как установить нужные модули из исходников прямо по ходу работы данного скрипта, т.е как инициировать установку модуля в exception'е.

Офлайн

#2 Май 20, 2015 10:34:37

terabayt
От: Киев
Зарегистрирован: 2011-11-26
Сообщения: 1099
Репутация: +  103  -
Профиль   Отправить e-mail  

автоматизация установки модулей

если unix

>>> import subprocess
>>> package = 'numpy'
>>> subprocess.call(['easy_install', package])



————————————————
-*- Simple is better than complex -*-

Офлайн

#3 Май 20, 2015 10:44:55

Chocobo
Зарегистрирован: 2014-10-07
Сообщения: 14
Репутация: +  1  -
Профиль   Отправить e-mail  

автоматизация установки модулей

terabayt
Спасибо, будут исключительно CentOS, так что это очень даже норм

Теперь вопрос, где и в каком виде необходимо расположить пакеты, чтоб они подцепились, при выполнении вашего примера получил такой трейс:

Traceback (most recent call last):
File “iii.py”, line 5, in <module>
subprocess.call()
File “/usr/lib/python2.7/subprocess.py”, line 493, in call
return Popen(*popenargs, **kwargs).wait()
File “/usr/lib/python2.7/subprocess.py”, line 679, in __init__
errread, errwrite)
File “/usr/lib/python2.7/subprocess.py”, line 1259, in _execute_child
raise child_exception
OSError: No such file or directory

На что он ругается, на отсутствие easy_install?, shell тоже ее не знает

root@chocobo:~/temp# easy_install
-bash: easy_install: command not found
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Ок, все что выше - понял, easy_install возьмется из setuptools… А я с этого и начал, т.к. он тоже может отсутствовать
Впрочем, суть наверное ясна, надо только подкинуть рядом исходники setuptools, и задать также через subprocess ‘setup.py install’

Отредактировано Chocobo (Май 20, 2015 11:02:33)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version