Форумы сайта python.su
Вы не зашли.
Есть чистый установленный питон и несколько модулей к нему. Как перенести все это на другой комп? Надо делать свой установщик? Думаю, что rar(exe) архива хватит, но вот куда он что устанавливает, какие dll куда пишет, как узнать?
Неактивен
А может pip и virtualenv? ИМХО, это красивее, правильнее и переносимее.
Второй вариант, который пришёл ко мне в голову, это запихнуть в sfx (rar) инсталлер питона и site-packages и настоить запуск автоматической установки инсталлера. Но это через жопу.
И, как третий вариант, мне вспомнился Python portable. Но это тоже не очень.
Неактивен

Еще есть занятная возможность. Если в корень zip архива положить __main__.py - то можно писать python <archive>.zip
Неактивен
Хм... Прикольно.
Однако:
"Zip import of dynamic modules (*.pyd, *.so) is disallowed."
(с) http://python.org/dev/peps/pep-0273/
То есть только pure python? Или я чего-то не так понимаю?
Отредактированно ZZZ (2010-02-08 17:58:39)
Неактивен

Да, только питон. Было сделано для того, чтобы можно было легко переносить маленькие админские скриптики. На большее никто не рассчитывал.
Неактивен

LandingПитон всё пишет в c:\PythonXY, но вроде ещё забрасывает pythonXY.dll в C:\Windows\System32. Вам скорее всего подойдёт py2exe, который упакует скрипты со всеми зависимостями (включая сам питон).
ZZZpy2exe умеет загружать что угодно из zip архивов и не только, но это уже не так просто как...
Андрей Светлов написал:
Если в корень zip архива положить __main__.py - то можно писать python <archive>.zip
Неактивен
Да в общем-то не так уж и сложно. Не понимаю, почему эта функциональность отсутствует в стандартной поставке.
Но с другой стороны... А оно надо?
poltergeist написал:
Питон всё пишет в c:\PythonXY, но вроде ещё забрасывает pythonXY.dll в C:\Windows\System32.
Да. И нет ничего сложного в том, чтобы положить этот pythonXY.dll в папку C:\PythonXY. Проверял давно на 2.3 и 2.4. Мне стыдно, но я тоже писал под виндой...
Отредактированно ZZZ (2010-02-08 23:00:54)
Неактивен
Пока обхожусь записыванием PythonXY.dll в папку с питоном, и вызовом скриптов через cmd .bat. Но криво блин. Py2exe не хочу использовать, сложно нормально заставить работать с pyQT, да и считаю что такие модули должны собирать exe'шник автоматом, чтобы не вникать в дебри полупрограммирования, на которе просто нет времени.
Неактивен
В чем проблема-то? Лень устанавливать питон на другой машине? ставить зависимости?
скрипты сами по себе переносимы на ура.
Неактивен
bialix
А если используется штук 7-20 сторонних библиотек? py2exe даст страшных размеров exe. А так запихнуть бы все это в один установщик и потом, при появлении новых модулей дописывать их отдельно. При этом я точно знаю, что у пользователя стоит питон и какой версии. (Это все про использование в корпорат. среде).
Неактивен

Landing Вы просто не умеете готовить py2exe, там ничего трудного и страшного если разобраться, и я с ним собирал программу на PyQt4. У меня была другая проблема, программа быстро менялась, постоянные обновления (чуть ли не каждый день), решил закинуть программу в сетевую шару и давать пользователям ярлык к программе (вернее к батнику, который указывал на наиболее актуальную сборку). При этом лучше запихнуть все либы в один архив (быстрее запустится).
Неактивен
bialix, Landing -- давайте без холиваров. Я просто пошутил. :-)
P.S. А в py2exe действительно ничего сложного нет.
Отредактированно ZZZ (2010-02-09 20:23:51)
Неактивен

bialix написал:
Лень устанавливать питон на другой машине? ставить зависимости?
Вот это действительно лень, если дело касается винды ![]()
Для меня легче один раз собрать с помощью py2exe, выкинуть половину неиспользуемого из dist, сжать dll'ки upx'ом, чем ставить дистрибутив питона и следить, везде ли есть нужные библиотеки.
unix-way на винде, как мне кажется, практически невозможен ![]()
Неактивен