Найти - Пользователи
Полная версия: автоматизация установки модулей
Начало » Python для новичков » автоматизация установки модулей
1
Chocobo
Добрый день!

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

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

столкнулся с тем, что не могу пока понять как установить нужные модули из исходников прямо по ходу работы данного скрипта, т.е как инициировать установку модуля в exception'е.
terabayt
если unix
>>> import subprocess
>>> package = 'numpy'
>>> subprocess.call(['easy_install', package])
Chocobo
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’
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB