Landing
Фев. 8, 2010 08:41:05
Есть чистый установленный питон и несколько модулей к нему. Как перенести все это на другой комп? Надо делать свой установщик? Думаю, что rar(exe) архива хватит, но вот куда он что устанавливает, какие dll куда пишет, как узнать?
Ferroman
Фев. 8, 2010 10:24:26
py2exe
ZZZ
Фев. 8, 2010 14:57:22
А может pip и virtualenv? ИМХО, это красивее, правильнее и переносимее.
Второй вариант, который пришёл ко мне в голову, это запихнуть в sfx (rar) инсталлер питона и site-packages и настоить запуск автоматической установки инсталлера. Но это через жопу.
И, как третий вариант, мне вспомнился Python portable. Но это тоже не очень.
Андрей Светлов
Фев. 8, 2010 16:07:50
Еще есть занятная возможность. Если в корень zip архива положить __main__.py - то можно писать python <archive>.zip
ZZZ
Фев. 8, 2010 16:40:23
Хм… Прикольно.
Однако:
“Zip import of dynamic modules (*.pyd, *.so) is disallowed.”
(с)
http://python.org/dev/peps/pep-0273/ То есть только pure python? Или я чего-то не так понимаю?
Андрей Светлов
Фев. 8, 2010 17:06:32
Да, только питон. Было сделано для того, чтобы можно было легко переносить маленькие админские скриптики. На большее никто не рассчитывал.
ZZZ
Фев. 8, 2010 17:17:34
Ясно. Наверное, оно и правильно.
poltergeist
Фев. 8, 2010 21:20:53
LandingПитон всё пишет в c:\PythonXY, но вроде ещё забрасывает pythonXY.dll в C:\Windows\System32. Вам скорее всего подойдёт py2exe, который упакует скрипты со всеми зависимостями (включая сам питон).
ZZZpy2exe умеет загружать что угодно из zip архивов и не только, но это уже не так просто как…
Андрей Светлов
Если в корень zip архива положить __main__.py - то можно писать python <archive>.zip
http://py2exe.svn.sourceforge.net/viewvc/py2exe/trunk/py2exe/zipextimporter.py?view=markup
ZZZ
Фев. 8, 2010 21:52:35
Да в общем-то не так уж и сложно. Не понимаю, почему эта функциональность отсутствует в стандартной поставке.
Но с другой стороны… А оно надо?
poltergeist
Питон всё пишет в c:\PythonXY, но вроде ещё забрасывает pythonXY.dll в C:\Windows\System32.
Да. И нет ничего сложного в том, чтобы положить этот pythonXY.dll в папку C:\PythonXY. Проверял давно на 2.3 и 2.4.
Мне стыдно, но я тоже писал под виндой…
Landing
Фев. 9, 2010 07:43:46
Пока обхожусь записыванием PythonXY.dll в папку с питоном, и вызовом скриптов через cmd .bat. Но криво блин. Py2exe не хочу использовать, сложно нормально заставить работать с pyQT, да и считаю что такие модули должны собирать exe'шник автоматом, чтобы не вникать в дебри полупрограммирования, на которе просто нет времени.