Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 9, 2017 21:07:10

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

кросс компиляция... питон скрипта?!

Доброго времени суток форумчане!

Есть простейший скрипт на питоне, написаный с пименением библиотек numpy, scipy, matplotlib.
Необходимо получить из него исполняемый *.exe файл для винды. вроде бы простая задача, да? но в распоряжении машина только под линуксом!
как подступиться к этой задаче ума не приложу, поэтому буду благодарен за любую помощь!

Отредактировано falsekeel (Дек. 9, 2017 21:07:38)

Офлайн

#2 Дек. 9, 2017 21:34:31

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

кросс компиляция... питон скрипта?!

falsekeel
как подступиться к этой задаче ума не приложу
Сотню раз уже обсуждалось. Делаете из своего скрипта whl и заливаете на pipi.
Если на винде нет питона ставите.

А про изготовление exe бодренько забываете.



Отредактировано doza_and (Дек. 9, 2017 21:35:27)

Офлайн

#3 Дек. 9, 2017 21:35:47

DamMercul
Зарегистрирован: 2017-11-26
Сообщения: 323
Репутация: +  13  -
Профиль   Отправить e-mail  

кросс компиляция... питон скрипта?!

py2exe тебе в помощь, падаван… На самом деле скомпилировать скрипт питона в exe полноценно ты не сможешь. Напоминаю: python - интерпретируемый язык. То есть он исполняется по строчно, а не как в компилируемых(все сразу)(могу объяснить неверно, точное определение интерпретации). Py2exe всего лишь копирует в папку сам питон(его так называемое “ядро”), модули, которые ты импортируешь и саму exe'шку, которая все те файлы юзает.



____________________________________________________

 # Life loop
while alive:
    if (fun > boredom) and money:
        pass_day(fun, boredom, money)
        continue
    else: break

Офлайн

#4 Дек. 9, 2017 22:05:27

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

кросс компиляция... питон скрипта?!

Т.е. всё так просто? типа байткод одинаковый для линукса и винды? а то что matplotlib использует встроенный latex тоже не помешает использованию “колес”?

Офлайн

#5 Дек. 10, 2017 01:32:24

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

кросс компиляция... питон скрипта?!

falsekeel
типа байткод одинаковый для линукса и винды?
Вы что с шарпа что-ли пришли? В питоне распространяется исходный код. Переносимость как и в любом языке ваша забота. Если на целевой системе нет монитора, то вывод на него очевидно будет не очень функционален.

В частности с matplotlib проблем с интерпретацией латеха нет. Проблемы могут быть ну например если пользователь винды назван по русски, старт процесса под виндой на полтора порядка дольше, фонты не совпадают и проч и проч. Компиляция в exe кстати от этих проблем совершенно не спасает. Т.е. без винды вы все равно не поймете как оно под виндой работает.



Офлайн

#6 Дек. 10, 2017 10:34:44

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

кросс компиляция... питон скрипта?!

falsekeel
Т.е. всё так просто? типа байткод одинаковый для линукса и винды?
Не все конечно, бывает что собраное py2exe или pyInstaller-ом не хочет работать ругаясь на отсутсвие какойто либы или модуля, хотя из пайтона все запускаеться. К примеру был случай что собраное падало жалуясь что нету модуля encodings, и только добавив в скрипт “import encodings” оно собралось и запустилось нормально.
Бывает что оно некоректно собирается если используються определенные модули, тогда нужны “танцы с бубном”, иногда решение проблемы описано прямо на сайте py2exe/pyInstaller по типу если вы используете модуль ххххх, то добавте в конфиг…. скопируйте файл….. и тд…
Так что венда вам всеравно понадобится хотябы на виртуалке, чтобы иметь представление чего ему не хватает в случае чего. Хотя собирать можо и под линуксом.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Дек. 10, 2017 10:36:18)

Офлайн

#7 Июль 13, 2018 01:40:19

dbalor
Зарегистрирован: 2018-07-02
Сообщения: 73
Репутация: +  0  -
Профиль   Отправить e-mail  

кросс компиляция... питон скрипта?!

Здравствуйте,

Вопросик в эту тему.
Скомпилировал прогу под убунту, затем под виндой, все пашет, теперь прога работет под виндой и под линухой.
Но когда прогу под линуху запускаю под debian выдает ошибку:

1481 Error loading Python lib ‘/tmp/_MEImVYUnX/libpython3.6m.so.1.0’: dlopen: /lib/x86_64-linux-gnu/libc.so.6: version
GLIBC_2.25' not found (required by /tmp/_MEImVYUnX/libpython3.6m.so.1.0)

Подскажите в чем проблема? Ведь ubuntu и debian одно семейство линуксов.

Отредактировано dbalor (Июль 13, 2018 01:41:34)

Офлайн

#8 Июль 13, 2018 04:32:35

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

кросс компиляция... питон скрипта?!

dbalor
Подскажите в чем проблема?
Проблема в том уважаемый, что вы неправильно делаете лишнюю и никому не нужную работу - компилируете скрипт.



Офлайн

#9 Июль 13, 2018 09:37:28

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

кросс компиляция... питон скрипта?!

dbalor
Но когда прогу под линуху запускаю под debian выдает ошибку:
ну линух он такой, одна либа требует другую, та третью, а та четвертую.. походу для libpython3.6m.so.1.0 нужна /lib/x86_64-linux-gnu/libc.so.6 версии GLIBC_2.25. проверте есть ли она на вашем дебиане, и если есть то лежит ли она по пути /lib/x86_64-linux-gnu/



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#10 Июль 13, 2018 09:45:37

dbalor
Зарегистрирован: 2018-07-02
Сообщения: 73
Репутация: +  0  -
Профиль   Отправить e-mail  

кросс компиляция... питон скрипта?!

Проблема в том уважаемый, что вы неправильно делаете лишнюю и никому не нужную работу - компилируете скрипт.
А конкретней, ваши предложения.
Я собираю вроде бы весь проект


ну линух он такой, одна либа требует другую, та третью, а та четвертую.. походу для libpython3.6m.so.1.0 нужна /lib/x86_64-linux-gnu/libc.so.6 версии GLIBC_2.25. проверте есть ли она на вашем дебиане, и если есть то лежит ли она по пути /lib/x86_64-linux-gnu/

Он ведь добавляется в папку приложения при компиляции.
Как добавить его в свой проект?

Отредактировано dbalor (Июль 13, 2018 09:54:52)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version