Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 4, 2011 11:55:57

grok
От:
Зарегистрирован: 2010-09-09
Сообщения: 74
Репутация: +  0  -
Профиль   Отправить e-mail  

Компиляция в CI

Доброго времени суток!
Объясняю свою ситуацию:
Заставил себя связаться с непрерывной интеграцией. В качестве системы слежения за проектами использую Trac и его плагин Bitten для CI. Для этого пишу xml-рецепт пострения. Остановился на втором шаге, а именно компиляции кода. В качестве механизма компиляции на офф. сайте они используют команду build пакета distutils.
Решил воспользоваться им же. Для этого необходимо было создать файл setup.py. Создал самый простой setup со следующим содержимым:

from distutils.core import setup
setup(name = 'test',
version = '1.0',
scripts = ['/home/adv/python/test.py'] #здесь указал питоновский файл, который хотел откомпилировать
)
Запустил скрипт вот так:
python setup.py build -c=unix
Но ничего из этого не вышло.. создался каталог build и в нем копия моего неоткомплированного питоновского файла. Попробовал использовал не только компилятор unix, но и bcpp, cygwin, mingw32, etc. вышла та же ситуация.
Подскажите, что я делаю не так?
Я так понимаю на выходе должны получаться файлы c расширениями .pyc, .jar, .exe и др. или я не прав?
Или может есть другой способ получать откомпилированные файлы различных приложений?



Офлайн

#2 Фев. 4, 2011 12:03:09

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Компиляция в CI

grok
Я так понимаю на выходе должны получаться файлы c расширениями .pyc, .jar, .exe и др. или я не прав?
Как раз об этом по указанной ссылке ничего не сказано. Сами по себе distutils умеют создавать дистрибутивы для библиотек/приложений, и, соответственно эти дистрибутивы потом устанавливать.

Если я не ошибась, вам нужны исполняемые файлы. Гляньте в сторону py2exe и cx_Freeze



Офлайн

#3 Фев. 4, 2011 12:21:54

grok
От:
Зарегистрирован: 2010-09-09
Сообщения: 74
Репутация: +  0  -
Профиль   Отправить e-mail  

Компиляция в CI

regall
grok
Я так понимаю на выходе должны получаться файлы c расширениями .pyc, .jar, .exe и др. или я не прав?
Как раз об этом по указанной ссылке ничего не сказано. Сами по себе distutils умеют создавать дистрибутивы для библиотек/приложений, и, соответственно эти дистрибутивы потом устанавливать.
Да, не сказано, но присутствует данна я строчка:
<step id= "build" description= "Compile to byte code" >
Как я понял он должен компилировать в байт-код..?

py2exe и cx_Freeze компилирует только питоновские файлы, мне же нужен универвальный компилятор, что-то типа gcc для питона, который автоматом бы распозновал на каком языке написан данный скрипт или приложение и воспроизводил его в исполняемый файл.



Офлайн

#4 Фев. 4, 2011 12:30:35

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Компиляция в CI

grok
py2exe и cx_Freeze компилирует только питоновские файлы, мне же нужен универвальный компилятор, что-то типа gcc для питона, который автоматом бы распозновал на каком языке написан данный скрипт или приложение и воспроизводил его в исполняемый файл.
0_о. Я, конечно, могу ошибаться, но Cyberdine systems пока еще только работают над этой задачей.
Или я правильно понял, и вы хотите кнопку “Сделать все зашыбись…”, или уточните, пожалуйста, что вы имеете в виду.



Офлайн

#5 Фев. 4, 2011 12:44:14

grok
От:
Зарегистрирован: 2010-09-09
Сообщения: 74
Репутация: +  0  -
Профиль   Отправить e-mail  

Компиляция в CI

regall
0_о. Я, конечно, могу ошибаться, но Cyberdine systems пока еще только работают над этой задачей.
=)

Вопрос тогда стоит перед мной один, что они хотели сказать вот этим:
   <step id= "build" description= "Compile в byte code">
<python:distutils command= "build" />
</step>
То ли они компилируют, как указали в description, то ли, как Вы сказали, идет сборка дистрибутива.. непонятно =(



Офлайн

#6 Фев. 4, 2011 12:50:11

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

Офлайн

#7 Фев. 4, 2011 13:01:50

grok
От:
Зарегистрирован: 2010-09-09
Сообщения: 74
Репутация: +  0  -
Профиль   Отправить e-mail  

Компиляция в CI

regall
http://stackoverflow.com/questions/3440016/how-to-strip-source-from-distutils-binary-distributions
Благодарю, то что нужно, еще немного допилить на другие языки прог-я и, думаю, из этого что-то должно получиться.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version