Детектив: не запускается XPD

Автор mclac, 25 Нояб. 2011 в 17:43

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

mclac

Цитата: mevial от 25 Нояб. 2011 в 17:27
Цитата: oburmistrov от 25 Нояб. 2011 в 16:44
Можно подробнее, как запустили XPD. У меня так-же происходит, нескелько секунд думает и всё.
А вы думаете, что передача нескольких байт по компорту должна занимать 10 минут и прогрессбар должен быть красивым и переливающимся на полэкрана? Главное не прогрессбар, а последующая подпись внизу. А за красивостями и тормозами вам к мелкософту.
мне кажется, что человек интересуется не возможностью запуска самой программы XPD под windows, а до процесса заливки данных в контроллер еще не добрался...
У мну тоже такое было. Поставил XPD точно по инструкции, при запуске немного думает и... ничего не происходит  :bn:
разбираться не стал, а проинсталировал на нетбук. Там все сразу заработало....
ЛЕНЬ - это самая НЕисчерпаемая энергия в мире !

илс

Цитата: mclac от 25 Нояб. 2011 в 17:43
Цитата: mevial от 25 Нояб. 2011 в 17:27
Цитата: oburmistrov от 25 Нояб. 2011 в 16:44
Можно подробнее, как запустили XPD. У меня так-же происходит, нескелько секунд думает и всё.
А вы думаете, что передача нескольких байт по компорту должна занимать 10 минут и прогрессбар должен быть красивым и переливающимся на полэкрана? Главное не прогрессбар, а последующая подпись внизу. А за красивостями и тормозами вам к мелкософту.
мне кажется, что человек интересуется не возможностью запуска самой программы XPD под windows, а до процесса заливки данных в контроллер еще не добрался...
У мну тоже такое было. Поставил XPD точно по инструкции, при запуске немного думает и... ничего не происходит  :bn:
разбираться не стал, а проинсталировал на нетбук. Там все сразу заработало....

Да подтверждаю, от версии винды данный глюк зависит.
У меня на 2-х  домашних компах стоит WinXP SP3 Professional с одного дистрибутива (сборка). Прога стала запускаться только с лицензионного офисного ноута.

DarthGray

Наблюдал такую же фигню
На рабочем компе не запустилась, на домашнем - с ходу
И дело тут действительно не в XPD, не запускается сам Питон
Щёлкаешь по его ЕХЕ-шнику и ничего не происходит
Разбираться не стал. дома работает и ладно
Надо сравнивать (видимо), какие службы запущены и в каком режиме. а это лениво
На вскидку разница в том. что дома у меня винда обновляется, а на работе нет
(хотя какое это имеет отношение к Питону?)
Различие между теорией и практикой на практике гораздо больше, чем в теории.

zap

Может в таких системах не хватает какой-то DLL'ки.
Было бы хорошо, если бы кто-то запустил питон с командной строки в такой системе (из каталога где он установлен) и процитировал сообщение об ошибке.
Эксплорер ничего толком не говорит, а в командной строке может написать что-нибудь типа "такой-то DLL не найден".
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

DarthGray

Абсолюютно пофиг
Забиваю в "Выполнить" C:\Program Files\Python27\pythonw.exe
Окно схлопывается, чёрное окно не вылезает, в процессах ничего не появляется
При запуске python.exe (без w в конце) выскакивает чёрное окно со следующим текстом

Python  2.7.1   <r271:86832,   Nov  27 2010,   18:30:46 >   [MSC v.1500 32  bit   <Intel>]  on
Win32
Гуре "help", "copyright", "credits" or "license" for more information.
>>>       
Различие между теорией и практикой на практике гораздо больше, чем в теории.

FAS_r7

имеется ввиду из CDM запускать экзешник ? 
тогда мессаги не исчезнут.

mevial

Цитата: DarthGray от 28 Нояб. 2011 в 17:05
Абсолюютно пофиг
Забиваю в "Выполнить" C:\Program Files\Python27\pythonw.exe
Окно схлопывается, чёрное окно не вылезает, в процессах ничего не появляется
При запуске python.exe (без w в конце) выскакивает чёрное окно со следующим текстом

Python  2.7.1   <r271:86832,   Nov  27 2010,   18:30:46 >   [MSC v.1500 32  bit   <Intel>]  on
Win32
Гуре "help", "copyright", "credits" or "license" for more information.
>>>       
Аналогично, установил ради эксперимента на древнюю sp2 корпоративку(специально поставил в виртуалбокс), но xpd заработала, опыт не удался. :( Может что поточнее надо указать, например откуда сливали дистр винды?

zap

Цитата: DarthGray от 28 Нояб. 2011 в 17:05
Абсолюютно пофиг
Забиваю в "Выполнить" C:\Program Files\Python27\pythonw.exe
Окно схлопывается, чёрное окно не вылезает, в процессах ничего не появляется
При запуске python.exe (без w в конце) выскакивает чёрное окно со следующим текстом

Python  2.7.1   <r271:86832,   Nov  27 2010,   18:30:46 >   [MSC v.1500 32  bit   <Intel>]  on
Win32
Гуре "help", "copyright", "credits" or "license" for more information.
>>>       
pythonw и не должен выходить на командную строку, он специально сделан для запуска гуёвых приложений, если его запускать без имени питоновской программы он и должен сразу выходить.

Попробуйте такую команду через "Выполнить":

cmd /c "C:\Program Files\Python27\python.exe" "C:\Program Files\xpd-0.2.1\xpd.pyw"

(ну или какой там путь к xpd).

P.S. Есть видео быстрой установки XPD под вындоус. Может кому поможет.
http://www.youtube.com/watch?v=Lgb_KMBwFxM
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

DarthGray

Цитата: zap от 28 Нояб. 2011 в 18:39

Попробуйте такую команду через "Выполнить":

cmd /c "C:\Program Files\Python27\python.exe" "C:\Program Files\xpd-0.2.1\xpd.pyw"


Монопенисно, на долю секунды что-то мырцает посреди экрана и всё схлопывается вместе с командной строкой
не оставляя никаких следов
Различие между теорией и практикой на практике гораздо больше, чем в теории.

zap

Блин, уж мне эта венда :)

Хорошо, тогда запустите сначала просто "cmd", и уже в чёрном окошке введите:

"C:\Program Files\Python27\python.exe" "C:\Program Files\xpd-0.2.1\xpd.pyw"
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

DarthGray

Ага, вот оно как

This program requires PyGTK to run
Различие между теорией и практикой на практике гораздо больше, чем в теории.

zap

Хм, а устанавливать PyGTK не пробовали?

Надо сделать чтобы вместо сообщений на консоль под pythonw выводилось окошко - будет меньше подобных непонятностей.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

DarthGray

#12
Дык установлено pygtk-all-in-one-2.22.6.win32-py2.7.msi. если это оно
Запустил установку ещё раз, нажал на Repair, долго жужжала, написала что всё ОК
В результате всё тоже самое - This program requires PyGTK to run
Не видит с какого-то...

В удалении программ оно сидит
Различие между теорией и практикой на практике гораздо больше, чем в теории.

zap

Хм, тогда странно.

А что будет, если запустить сначала python.exe, а потом ввести туда команду "import gtk", примерно так, как ниже:

Python 2.7 (r27:82500, Sep 16 2010, 18:02:00)
[GCC 4.5.1 20100907 (Red Hat 4.5.1-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import gtk
>>>


Кстати, у Вас никаких других опенсорсных программ, использующих GTK, не установлено? Ну там, GIMP, Wireshark итп... Может быть конфликт dll'ек, ведь "домохозяйкина OS" так до сих пор и не научилась разруливать конфликты DLL разных версий, в отличие от юниксов, которые это умеют с рождения.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

DarthGray

А так ещё прикольней

Python 2.7.1 (r271:86832, Nov 27 2010, 18:30:46) [MSC v.1500 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import gtk
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Program Files\Python27\lib\site-packages\gtk-2.0\gtk\__init__.py", li
ne 40, in <module>
    from gtk import _gtk
ImportError: DLL load failed: ═х эрщфхэр єърчрээр  яЁюЎхфєЁр.
>>>

А насчёт программ - фиг его знает, какие что использовать могут
Перечисленных нет
Ну что поделать - Цэ Виндовс
Различие между теорией и практикой на практике гораздо больше, чем в теории.

zap

"═х эрщфхэр єърчрээр  яЁюЎхфєЁр" переводится как "Не найдена указанна  процедура" :)

Понятно, как я и предполагал, где-то в путях есть конфликтующая DLL.

Можете попробовать создать скрипт, назовите его, к примеру, xpd.cmd.
Скопируйте в него следующее:
set PATH=C:\Python27\Lib\site-packages\gtk-2.0\runtime\bin;%PATH%
"C:\Python27\python.exe" "C:\Program Files\xpd-0.2.1\xpd.pyw"

Потом запустите его (либо через командную строку, введя полный путь к xpd.cmd, либо прямо в эксплорере двойным кликом).

Можно, конечно, просто ввести эти две команды по очереди в командную строку, если что-то непонятно.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

DarthGray

#16
Ага, а вот видимо и то, с чем конфликтит

Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.

C:\>xpd.cmd

C:\>set PATH=C:\Program Files\Python27\Lib\site-packages\gtk-2.0\runtime\bin;C:\
WinAVR-20100110\bin;C:\WinAVR-20100110\utils\bin;C:\WINDOWS\system32;C:\WINDOWS;
C:\WINDOWS\System32\Wbem;C:\Program Files\Intel\DMIX;C:\Program Files\Altium Des
igner Summer 09\System

C:\>"C:\Program Files\Python27\python.exe" "C:\Program Files\xpd-0.2.1\xpd.pyw"

This program requires PyGTK to run

C:\>


Ну WinAVR и Altium Designer врядли на многих машинах есть, к тому же они не запущены
а вот Intel\DMIX очень даже может быть, т.к. хрен знает нафиг он ваще нужен

Хотя нет, это просто прописанные пути...
Различие между теорией и практикой на практике гораздо больше, чем в теории.

mevial

Цитата: DarthGray от 29 Нояб. 2011 в 15:18

Ну WinAVR и Altium Designer врядли на многих машинах есть, к тому же они не запущены
а вот Intel\DMIX очень даже может быть, т.к. хрен знает нафиг он ваще нужен

Не угадали, winAVR и есть тот самый опенсорс, который тоже использует gtk, и запущенным ему быть необязательно. Прям даже интересно, что у Ilyukhs стоит. :) А последние матюки вообще на отсутствие pygtk(неправильный путь?).

DarthGray

Цитата: mevial от 29 Нояб. 2011 в 15:41
Не угадали, winAVR и есть тот самый опенсорс, который тоже использует gtk, и запущенным ему быть необязательно. Прям даже интересно, что у Ilyukhs стоит. :) А последние матюки вообще на отсутствие pygtk(неправильный путь?).

Ну это легко проверить
Поставлю winAVR на домашний комп
Если Питон сглючит - значит оно и виновато
Различие между теорией и практикой на практике гораздо больше, чем в теории.

zap

По-моему в WinAVR нет никакого gtk. Оно же виндовое нативное гуи использует, разве не так?
А вообще странно, что set PATH не помог.

Попробуйте ещё раз, деинсталлируйте всё и установите всё как у меня на видео. Может поможет, я не знаю.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

DarthGray

Цитата: mevial от 29 Нояб. 2011 в 15:41
Не угадали, winAVR и есть тот самый опенсорс, который тоже использует gtk, и запущенным ему быть необязательно. Прям

Не угадали :p
Поставил дома АВР-Студию вместе с ВинАВР - xpd прекрасно запускается

Цитата: zap от 29 Нояб. 2011 в 17:21

Попробуйте ещё раз, деинсталлируйте всё и установите всё как у меня на видео. Может поможет, я не знаю.


Попробовал. хоть это и тупо - результат тот-же :bl:
Различие между теорией и практикой на практике гораздо больше, чем в теории.

илс

Цитата: mevial от 29 Нояб. 2011 в 15:41
Цитата: DarthGray от 29 Нояб. 2011 в 15:18

Ну WinAVR и Altium Designer врядли на многих машинах есть, к тому же они не запущены
а вот Intel\DMIX очень даже может быть, т.к. хрен знает нафиг он ваще нужен

Не угадали, winAVR и есть тот самый опенсорс, который тоже использует gtk, и запущенным ему быть необязательно. Прям даже интересно, что у Ilyukhs стоит. :) А последние матюки вообще на отсутствие pygtk(неправильный путь?).

Не совсем понял вопрос. Про winAVR ничего не слышал, на моем компе этой проги нет.
Пути правильные, недавно все переустановил по видеоуроку от zap.

Командная строка выдает тот же набор:

Microsoft Windows XP [Версия 5.1.2600]
(С) Корпорация Майкрософт, 1985-2001.

C:\Documents and Settings\admin>set PATH=C:\Python27\Lib\site-packages\gtk-2.0\r
untime\bin;%PATH%

C:\Documents and Settings\admin>"C:\Python27\python.exe" "C:\Program Files\xpd-0
.2.1\xpd.pyw"
This program requires PyGTK to run

C:\Documents and Settings\admin>


Думаю надо спецов по Питону пытать, наверняка они в курсе об этой типовой проблеме.
Другой вариант, дать (мне) совет, какой самый простой Линукс поставить на ноут, чтобы там без проблем запускалась xpd?

zap

Можно поставить Ubuntu, он тоже "для домохозяек" :D

Если кому-то не лень и хватает квалификации, можно попробовать поставить утилиту FileMon:

http://technet.microsoft.com/ru-ru/sysinternals/bb896642

Она показывает, какие файлы (включая DLL'ки) открывает программа в процессе выполнения (меня интересует момент запуска).

Идея в том, чтобы подсмотреть, какие DLL'ки подгружает Питон по мере выполнения программы. По идее, правильные DLL'ки от GTK должны подсасываться из C:\Python27\Lib\site-packages\gtk-2.0\runtime\bin, но возможно, что где-нибудь лежит другая DLL с таким же именем, и он подхватывает её вместо штатной, отчего и накрывается.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

mevial

Немного покопался с файлмоном, и вот что обнаружил. При импорте gtk загружаются вот такие dll файлы:

C:\Python27\lib\site-packages\gtk-2.0\runtime\bin\libglib-2.0-0.dll
C:\Python27\lib\site-packages\gtk-2.0\runtime\bin\intl.dll
C:\Python27\lib\site-packages\gtk-2.0\runtime\bin\libgthread-2.0-0.dll
C:\Python27\lib\site-packages\gtk-2.0\runtime\bin\libgobject-2.0-0.dll
C:\Python27\lib\site-packages\gtk-2.0\runtime\bin\libcairo-2.dll
C:\Python27\lib\site-packages\gtk-2.0\runtime\bin\libfontconfig-1.dll
C:\Python27\lib\site-packages\gtk-2.0\runtime\bin\libexpat-1.dll
C:\Python27\lib\site-packages\gtk-2.0\runtime\bin\freetype6.dll
C:\Python27\lib\site-packages\gtk-2.0\runtime\bin\libpng14-14.dll
C:\Python27\lib\site-packages\gtk-2.0\runtime\bin\zlib1.dll
C:\Python27\lib\site-packages\gtk-2.0\runtime\bin\libgdk-win32-2.0-0.dll
C:\Python27\lib\site-packages\gtk-2.0\runtime\bin\libgdk_pixbuf-2.0-0.dll
C:\Python27\lib\site-packages\gtk-2.0\runtime\bin\libgio-2.0-0.dll
C:\Python27\lib\site-packages\gtk-2.0\runtime\bin\libgmodule-2.0-0.dll
C:\Python27\lib\site-packages\gtk-2.0\runtime\bin\libpango-1.0-0.dll
C:\Python27\lib\site-packages\gtk-2.0\runtime\bin\libpangocairo-1.0-0.dll
C:\Python27\lib\site-packages\gtk-2.0\runtime\bin\libpangoft2-1.0-0.dll
C:\Python27\lib\site-packages\gtk-2.0\runtime\bin\libpangowin32-1.0-0.dll
C:\Python27\lib\site-packages\gtk-2.0\runtime\bin\libgtk-win32-2.0-0.dll
C:\Python27\lib\site-packages\gtk-2.0\runtime\bin\libatk-1.0-0.dll

Притом независимо от переменной path при загрузке этих dll происходит вот такой обход путей:

QUERY INFORMATION C:\Python27\lib\site-packages\gtk-2.0\glib\libglib-2.0-0.dll NOT FOUND
QUERY INFORMATION C:\WINDOWS\system32\libglib-2.0-0.dll NOT FOUND
QUERY INFORMATION C:\WINDOWS\system\libglib-2.0-0.dll NOT FOUND
QUERY INFORMATION C:\WINDOWS\libglib-2.0-0.dll NOT FOUND
QUERY INFORMATION C:\Program Files\xpd-0.2.1\libglib-2.0-0.dll NOT
QUERY INFORMATION C:\Python27\lib\site-packages\gtk-2.0\runtime\bin\libglib-2.0-0.dll SUCCESS

Думаю, что если где-то по пути попадается неправильная библиотека, то она тут же подгружается. Пример вот:

QUERY INFORMATION C:\Python27\lib\site-packages\gtk-2.0\glib\WS2_32.dll NOT FOUND
QUERY INFORMATION C:\WINDOWS\system32\WS2_32.dll SUCCESS
QUERY INFORMATION C:\Python27\lib\site-packages\gtk-2.0\glib\WS2HELP.dll NOT FOUND
QUERY INFORMATION C:\WINDOWS\system32\WS2HELP.dll SUCCESS

А вот список путей, которые первоначально ищет питон:

C:\Python27\lib\site-packages\gtk-2.0\glib\libglib-2.0-0.dll
C:\Python27\lib\site-packages\gtk-2.0\glib\intl.dll
C:\Python27\lib\site-packages\gtk-2.0\glib\WS2_32.dll
C:\Python27\lib\site-packages\gtk-2.0\glib\WS2HELP.dll
C:\Python27\lib\site-packages\gtk-2.0\glib\libgthread-2.0-0.dll
C:\Python27\lib\site-packages\gtk-2.0\gobject\libgobject-2.0-0.dll
C:\Python27\lib\site-packages\gtk-2.0\gtk\libcairo-2.dll
C:\Python27\lib\site-packages\gtk-2.0\gtk\libfontconfig-1.dll
C:\Python27\lib\site-packages\gtk-2.0\gtk\libexpat-1.dll
C:\Python27\lib\site-packages\gtk-2.0\gtk\freetype6.dll
C:\Python27\lib\site-packages\gtk-2.0\gtk\libpng14-14.dll
C:\Python27\lib\site-packages\gtk-2.0\gtk\zlib1.dll
C:\Python27\lib\site-packages\gtk-2.0\gtk\libgdk-win32-2.0-0.dll
C:\Python27\lib\site-packages\gtk-2.0\gtk\libgdk_pixbuf-2.0-0.dll
C:\Python27\lib\site-packages\gtk-2.0\gtk\libgio-2.0-0.dll
C:\Python27\lib\site-packages\gtk-2.0\gtk\libgmodule-2.0-0.dll
C:\Python27\lib\site-packages\gtk-2.0\gtk\libpango-1.0-0.dll
C:\Python27\lib\site-packages\gtk-2.0\gtk\libpangocairo-1.0-0.dll
C:\Python27\lib\site-packages\gtk-2.0\gtk\libpangoft2-1.0-0.dll
C:\Python27\lib\site-packages\gtk-2.0\gtk\libpangowin32-1.0-0.dll
C:\Python27\lib\site-packages\gtk-2.0\gtk\libgtk-win32-2.0-0.dll
C:\Python27\lib\site-packages\gtk-2.0\gtk\libatk-1.0-0.dll

Могу предложить положить файлы из /runtime/bin в соответствующие папки из списка и попробовать.

zap

#24
Не, при загрузке DLL обычно указывается только имя файла, без пути. После этого система делает обход всех путей в PATH и ищет там указанный файл. Именно поэтому порядок обхода каталогов всегда одинаков, независимо от того, системная это DLL'ка, или из GTK.

Все DLL'ки gtk грузятся откуда надо, вариант с неверной версией отпадает.
Облом происходит при загрузке Питоновского модуля "_gtk.pyd" (это тоже DLL'ка, но специальным образом оформленная для использования из Питона).
FileMon не выдаёт откуда он подгружается?

Ещё нашёл в интернетах такой хинт, что, возможноб _gtk.pyd был скомпилирован с использованием Microsoft Visual C 2008 runtime DLL, а самих этих DLL в дистрибутиве PyGTK нет. В более поздних версиях Windows оно является частью дистрибутива, но не исключено, что в ранних версиях он отсутствовал.

Попробуйте установить msvc2008 runtime отсюда:
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=29

Кстати, гипотезу можно проверить утилитой depends: http://www.dependencywalker.com/
Откройте в ней C:\Python27\Lib\site-packages\gtk-2.0\gtk\_gtk.pyd и посмотрите, все ли DLL'ки, от которых оно зависит, имеются в наличии.

Ещё можно попробовать качнуть самую последнюю версию PyGTK отсюда:
http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.24/pygtk-all-in-one-2.24.0.win32-py2.7.msi
и попробовать её вместо 2.22.6.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

mevial

#25
Цитата: zap от 01 Дек. 2011 в 15:58
FileMon не выдаёт откуда он подгружается?
C:\Python27\lib\site-packages\gtk-2.0\gtk\_gtk.pyd без каких-либо попыток открыть из другого места.

Цитата: zap от 01 Дек. 2011 в 15:58
Не, при загрузке DLL обычно указывается только имя файла, без пути. После этого система делает обход всех путей в PATH и ищет там указанный файл. Именно поэтому порядок обхода каталогов всегда одинаков, независимо от того, системная это DLL'ка, или из GTK.
Вот сейчас провёл эксперимент: взял C:\Python27\lib\site-packages\gtk-2.0\runtime\bin\libglib-2.0-0.dll и скопировал его в C:\Python27\lib\site-packages\gtk-2.0\glib\intl.dll и получил следующее:

C:\Program Files\xpd-0.2.1>\Python27\python.exe
Python 2.7.1 (r271:86832, Nov 27 2010, 18:30:46) [MSC v.1500 32 bit (Intel)] on
win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import gtk
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\site-packages\gtk-2.0\gtk\__init__.py", line 30, in <mod
ule>
    import gobject as _gobject
  File "C:\Python27\lib\site-packages\gtk-2.0\gobject\__init__.py", line 26, in
<module>
    from glib import spawn_async, idle_add, timeout_add, timeout_add_seconds, \
  File "C:\Python27\lib\site-packages\gtk-2.0\glib\__init__.py", line 22, in <mo
dule>
    from glib._glib import *
ImportError: DLL load failed: ═х эрщфхэр єърчрээр  яЁюЎхфєЁр.
>>>

Притом, что правильная dll лежала на старом месте а путь был установлен в:

C:\Program Files\xpd-0.2.1>set path
Path=C:\Python27\Lib\site-packages\gtk-2.0\runtime\bin;C:\WINDOWS\system32;C:\WI
NDOWS;C:\WINDOWS\System32\Wbem

mevial

К чему теоретические споры, надо попробовать тому, у кого не работает, а так только гадать.
PS: Щас gimp поставлю. Надо же убить пигтк. :)

DarthGray

Цитата: zap от 01 Дек. 2011 в 15:58
Попробуйте установить msvc2008 runtime отсюда:
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=29

Ещё можно попробовать качнуть самую последнюю версию PyGTK отсюда:
http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.24/pygtk-all-in-one-2.24.0.win32-py2.7.msi
и попробовать её вместо 2.22.6.

Попробовал и то и другое - не помогает

Вот что выдал депендоси
Различие между теорией и практикой на практике гораздо больше, чем в теории.

zap

Понятно. Ну, gtk'шные либы он найдёт если в Options -> Configure Module Search Order ему добавить в пути для поиска каталог с gtk'шными DLL'ками.
MSVCR90.DLL, скорее всего, лежит у Вас где-то в \Windows\WinSxS\*\, его тоже можно добавить в путь для поиска.
А вот что такое IESHIMS.DLL и WER.DLL?
У меня в системе (Windows XP) таких вообще нет.
Какая DLL на них ссылается?

P.S. Нашёл в интернетах, вроде эти 2 DLL'ки не нужны в XP, они есть только в висте.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

mevial

Цитата: DarthGray от 01 Дек. 2011 в 17:30
Цитата: zap от 01 Дек. 2011 в 15:58
Попробуйте установить msvc2008 runtime отсюда:
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=29

Ещё можно попробовать качнуть самую последнюю версию PyGTK отсюда:
http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.24/pygtk-all-in-one-2.24.0.win32-py2.7.msi
и попробовать её вместо 2.22.6.

Попробовал и то и другое - не помогает

Вот что выдал депендоси
Т.е. мой способ решения настолько неадекватен, что даже пробовать не стали? Эх, жалко часа потраченного времени.

zap

Мм... а был способ решения? Я его не понял, если честно.
Это где libglib.dll копировали в intl.dll? Я так и не понял, зачем.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

mevial

Цитата: zap от 01 Дек. 2011 в 19:15
Мм... а был способ решения? Я его не понял, если честно.
Это где libglib.dll копировали в intl.dll? Я так и не понял, зачем.
Вы плохо читаете, я его не копировал в родной intl.dll, который лежит в runtime/bin, я его копировал несколько раньше по поиску, т.е. у меня было 2 дллки, одна правильная и установленная питоном, другая неправильная и установленная другой софтиной(в данном случае мной). Ну да, для чистоты эксперимента и показательности надо было в windows/system32 фигню положить, результат был бы тот же.
А способ был постом раньше, тот, который вы обосрали(извините, накипело) даже не попробовав.

zap

Цитата: mevial от 01 Дек. 2011 в 19:50
Вы плохо читаете, я его не копировал в родной intl.dll, который лежит в runtime/bin, я его копировал несколько раньше по поиску, т.е. у меня было 2 дллки, одна правильная и установленная питоном, другая неправильная и установленная другой софтиной(в данном случае мной). Ну да, для чистоты эксперимента и показательности надо было в windows/system32 фигню положить, результат был бы тот же.
Я понял где мы разошлись в процессе мышления :). Дело в том, что WS2_32.DLL и WS2HELP.DLL это виндовая библиотека WinSock для работы с tcp/ip. Поэтому я не обратил внимание на то, что Вы сказали - совершенно нормально, что они подсосались из каталога C:\Windows\System, их больше нигде и нету.

Но вот то, что Питон поначалу ищет glib'овскую DLL'ку в C:\Python27\lib\site-packages\gtk-2.0\glib\ я упустил. Видимо, программа сначала пытается загрузить DLL'ку с полным путём, которые Вы указали, а потом уже ищет вдоль PATH.

Цитата: mevial от 01 Дек. 2011 в 19:50
А способ был постом раньше, тот, который вы обосрали(извините, накипело) даже не попробовав.
Хорошо бы для начала DarthGray просто глянул бы FileMon'ом, откуда какие DLL'ки подсасываются на самом деле.
Если они в любом случае берутся из правильных мест, пробовать нет смысла.
А если найдёт откуда подсасывается "не та" DLL'ка, тогда уже можно думать как заставить PyGTK найти правильную DLL.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

DarthGray

Цитата: mevial от 01 Дек. 2011 в 18:42
Т.е. мой способ решения настолько неадекватен, что даже пробовать не стали? Эх, жалко часа потраченного времени.

Никто не говорит о неадекватности. просто это не выход
Мы пытаемся найти ПРОСТОЕ решение, что бы XPD запускалась сразу после установки на ЛЮБОЙ винде

Цитата: zap от 01 Дек. 2011 в 23:35
Хорошо бы для начала DarthGray просто глянул бы FileMon'ом, откуда какие DLL'ки подсасываются на самом деле.
Если они в любом случае берутся из правильных мест, пробовать нет смысла.
А если найдёт откуда подсасывается "не та" DLL'ка, тогда уже можно думать как заставить PyGTK найти правильную DLL.

FileMon-а там уже нет. вместо него предлагается Process Monitor
Запустил я эту фигню. но честно говоря ничего не понял. слишкаммногабукаф
Вот маленький кусочек лога и на каждую строчку открывается ещё куча подробностей
Различие между теорией и практикой на практике гораздо больше, чем в теории.

zap

Вам надо установить фильтр по имени процесса (python.exe), затем очистить окно и запустить XPD.
После этого остановите сбор данных, и сохраните файл лога куда-нибудь.
Потом можете выложить его куда-нибудь, и я посмотрю.
Собственно, интересует из каких каталогов загружаются все нужные DLL'ки.
Подозреваю, что какой-то софт установил Вам куда-нибудь в System32 DLL'ку с пересекающимся именем.

На Вашем скриншоте список файлов, открываемых эксплорером (второй столбец), это ничего не даёт.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

DarthGray

Цитата: zap от 02 Дек. 2011 в 13:09
Вам надо установить фильтр по имени процесса (python.exe), затем очистить окно и запустить XPD.

Значитца так
XPD запускается таки через pythonW, а не просто python
Вот лог-файл

зы У меня форум третий день тормозит со страшной силой, страницы по несколько минут открываются
Различие между теорией и практикой на практике гораздо больше, чем в теории.

mevial

Цитата: DarthGray от 02 Дек. 2011 в 11:23
Никто не говорит о неадекватности. просто это не выход
Мы пытаемся найти ПРОСТОЕ решение, что бы XPD запускалась сразу после установки на ЛЮБОЙ винде
Скопировать файлы конечно очень сложно и неповторяемо(а я то думал, что наши бухгалтерши это освоить никак не могут, дурами их считал). Несомненно запускать процессмонитор, настраивать фильтры(которых там больше чем в файлмоне), отыскивать нужные строки(я читерствовал и искал через less и фильтровал через awk) это более простое решение.  :D
Вот почитайте http://msdn.microsoft.com/ru-ru/library/7d83bc18.aspx, в принципе посмотрев в те каталоги, что я указал становится понятно почему именно там библиотеки ищутся в первую очередь. Так что моё решение более общее и более корректное по отношению к другим программам, из-за которых вы не можете запустить xpd. Ну найдёте вы конфликтующую библиотеку, ну удалите её, ну запустите xpd, а потом окажется, что что-то другое не работает. А у другого человека другая библиотека, и что ему делать? Ну или вбивайте пути к вашим dll в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs, можно даже reg забабахать, только один ставит в c:\python27, другой в c:\Program Files\python27, а третий вообще на диск z:, так что никакой универсальности. Да и результат будет точно таким же как и с удалением "неправильной" dll.
Хотя ладно, созрел другой способ претендующий на универсальность, попробуйте вот этот вариант xpd.

DarthGray

Цитата: mevial от 02 Дек. 2011 в 15:19
Скопировать файлы конечно очень сложно и неповторяемо(а я то думал, что наши бухгалтерши это освоить никак не могут, дурами их считал). Несомненно запускать процессмонитор, настраивать фильтры(которых там больше чем в файлмоне), отыскивать нужные строки(я читерствовал и искал через less и фильтровал через awk) это более простое решение.  :D

Дык это поиск задницы. а он всегда сложный
А решение должно быть простым

Цитата: mevial от 02 Дек. 2011 в 15:19
Хотя ладно, созрел другой способ претендующий на универсальность, попробуйте вот этот вариант xpd.

Попробовал - без такого-же успеха
Различие между теорией и практикой на практике гораздо больше, чем в теории.

zap

Воот, с логами теперь гораздо проще гадать на кофейной гуще :D

Что сразу нашлось - в каталоге C:\Windows\System32 у Вас лежит некий zlib1.dll, дублирующий C:\Program Files\Python27\Lib\site-packages\gtk-2.0\runtime\bin\zlib1.dll

Попробуйте его временно оттуда куда-нибудь перенести. Не исключено, что он скомпилирован не с теми опциями, другим компилятором, он не той версии итд.

Ещё я вижу у Вас стоит Касперский. А на тех машинах, где XPD работает он у Вас установлен?
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

mevial

#39
А логов-то я и не заметил. :(
Копирование C:\Program Files\Python27\Lib\site-packages\gtk-2.0\runtime\bin\zlib1.dll в C:\Program Files\Python27\Lib\site-packages\gtk-2.0\gtk\zlib1.dll решило бы проблему. Кстати удивлён, что у вас папка с xpd идёт в поиске после папки windows/system32, видимо не такая уж у вас винда старая, у меня старше.

илс

#40
Цитата: zap от 02 Дек. 2011 в 16:23

Что сразу нашлось - в каталоге C:\Windows\System32 у Вас лежит некий zlib1.dll, дублирующий C:\Program Files\Python27\Lib\site-packages\gtk-2.0\runtime\bin\zlib1.dll

Попробуйте его временно оттуда куда-нибудь перенести. Не исключено, что он скомпилирован не с теми опциями, другим компилятором, он не той версии итд.
Zap - Вы Гений!

для начала, я запустил поиск на своей машине и нашел след. варианты данной библиотеки:

см. картинку 1

Потом удалил из директории C:\Windows\ злополучную библиотеку,  запустил xpd и О Чудо, все заработало  :bq: :ay: :br:

см. картинку 2

Жаль рука сломана, проверить результат не смогу,... в деле  :)



mevial

Ждём отчётов что же сломалось после удаления библиотеки.  :D Всё-таки я описывал чем этот метод плох.

zap

Не могу не потроллить.

В linux я бы просто написанл "rpm -qf c:/windows/system32/zlib1.dll" и он бы мне сразу сказал, частью какого пакета этот файл является :D
Ну или "apt-get -S c:/windows/system32/zlib1.dll" в Убунте.

А в Windows меня часто бесит эта хроническая его неспособность определить чей за файл, не говоря уж о более продвинутых функциях.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

mevial

Цитата: zap от 03 Дек. 2011 в 02:32
Не могу не потроллить.

В linux я бы просто написанл "rpm -qf c:/windows/system32/zlib1.dll" и он бы мне сразу сказал, частью какого пакета этот файл является :D
Ну или "apt-get -S c:/windows/system32/zlib1.dll" в Убунте.

А в Windows меня часто бесит эта хроническая его неспособность определить чей за файл, не говоря уж о более продвинутых функциях.

В gentoo equery belongs zlib1.dll :)
Для винды есть сторонние утилиты, которые сканируют софт и все зависимости, обычно часть всяких чистилок реестров.

zap

Это всё муляж, как можно сканировать когда там инсталляторы все вразнобой, с разными форматами хранения uninstall info, некоторые даже не все файлы туда вписывают, в результате после деинсталляции остаются мусорные файлы.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

mevial

Цитата: zap от 04 Дек. 2011 в 04:58
Это всё муляж, как можно сканировать когда там инсталляторы все вразнобой, с разными форматами хранения uninstall info, некоторые даже не все файлы туда вписывают, в результате после деинсталляции остаются мусорные файлы.

Не муляж, порой порты в генте так намудрят, что половина перестаёт работать, а revdep-rebuild, который сканирует все исполняемые файлы и библиотеки на предмет запуска других библиотек(ну потом конечно у портов спрашивает где найти либу) находит повреждённые зависимости и говорит, что надо переставить, чтобы заработало. Так же и в винде сканеры пашут, перекапывают все exe и dll. Единственное, они не смогут сказать где взять потерянную dll и какой версии она должна быть, но её название выявляют.

zap

Так мы говорим о разном тогда. Я не говорю о построении дерева зависимостей exe от dll через таблицу импортов екзешника. Я говорю об общесистемной базе данных всех файлов и пакетов в системе (не find :af:). То есть, буквально, на любой файл в системе, включая конфиги, картинки и прочую муть, исключая пользовательские.

Гента это гента, "закат солнца вручную". В системах, где пакеты проходят хотя бы минимальное предварительное тестирование, битые зависимости можно создать только устанавливая левые пакеты с --force. Да и в любом случае, запросы к базе установленных файлов всё равно при этом работают.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

mevial

Цитата: zap от 05 Дек. 2011 в 01:24
Так мы говорим о разном тогда. Я не говорю о зависимостях exe от dll через таблицу импортов екзешника. Я говорю об общесистемной базе данных всех файлов в системе. То есть, буквально, на любой файл в системе, включая конфиги, картинки и прочую муть.

Такого конечно нет, но и в линуксе приходится некоторые софтинки вручную собирать, в системе управления пакетами они при этом не отражаются, а конфликты в библиотеках навести могут. Например если брать скайп не из портов и ставить его в основные папки, он кладёт qt насмерть. Но это конечно больше отклонение чем правило, а для винды да, с точностью до наоборот.

zap

Я практически никогда не ставлю программы через make install. Всегда можно найти SRPM (хоть и старой версии), взять оттуда сценарий и собрать новую версию пакета. И уж полное ни-ни ставить что-то в системные каталоги, если уж хочется что-то временно поставить чтобы со сборкой RPM не мучаться, исключительно в /usr/local.
Уж очень это облегчает жизнь при очередном апгрейде системы.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

DarthGray

Ну чтож, всех поздравляю!
После убийства zlib1.dll из C:\WINDOWS\system32 XPD и у меня запустилась!
Пусть пока в корзине полежит. вдруг какая задница всплывёт
Если за неделю никакой глюк не вылезет - убью безвозвратно
Вот вроде нашлось и простое решение
Можно даже батничек сделать, чтоб убивал перед запуском, если она есть
Ну или переименовывал в .тмр например
Различие между теорией и практикой на практике гораздо больше, чем в теории.

mevial

Цитата: DarthGray от 05 Дек. 2011 в 10:28
Ну чтож, всех поздравляю!
После убийства zlib1.dll из C:\WINDOWS\system32 XPD и у меня запустилась!
Пусть пока в корзине полежит. вдруг какая задница всплывёт
Если за неделю никакой глюк не вылезет - убью безвозвратно
Вот вроде нашлось и простое решение
Можно даже батничек сделать, чтоб убивал перед запуском, если она есть
Ну или переименовывал в .тмр например
Можете посмотреть какой версии zlib1.dll в корзине, случаем не 1.2.3? Нашёл в нете списочек софта, который его использует, и редко в каком софте эта либа выше версии 1.2.3, а в gtk - 1.2.5. Вот интересно, если таки найдётся софтина, которая установила zlib1.dll, сможет ли она работать с более новой либой?

илс

Список длинный, но весь указанный софт не использует zlib1.dll из каталога
C:\Windows как у меня или C:\WINDOWS\system32 как у коллеги.

Может действительно бросить туда библиотеку с более поздней версией (от gtk) и не беспокоится. что-то какая-то прога сломалась?

DarthGray

Цитата: mevial от 05 Дек. 2011 в 13:16
Можете посмотреть какой версии zlib1.dll в корзине, случаем не 1.2.3?

Посмотрел
Версия файла - 1.2.3.0
Описание - zlib data compression library
Авторские права - (C) 1995-2003 Jean-loup Gailly & Mark Adler
Комментарий - DLL support by Alessandro Iacopetti & Gilles Vollant
Различие между теорией и практикой на практике гораздо больше, чем в теории.

DarthGray

Посмотрел ещё вот чего
Осталась zlib.dl (без единички)
Используется Мирандой
Различие между теорией и практикой на практике гораздо больше, чем в теории.

zap

Если название другое, то пофигу.

Остаётся непонятным, почему C:\Windows\System32 имеет приоритет перед первым каталогом, перечисленным в PATH?
Бред какой-то.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

mevial

Цитата: zap от 05 Дек. 2011 в 18:46
Если название другое, то пофигу.

Остаётся непонятным, почему C:\Windows\System32 имеет приоритет перед первым каталогом, перечисленным в PATH?
Бред какой-то.

Потому что кто-то даже ссылку на msdn не прочёл, вяндааааааа!

zap

У меня инфа из MSDN в голове не задерживается :D
Фу, какая гадость эта ваша виндовс.
Тогда почему не работал XPD из твоего архива, где все DLL'ки были сложены в кучу вместе со скриптом?

P.S. Такой вариант: если в свойствах запускающей иконки в качестве "текущего каталога" прописать каталог, где лежат gtk'шные библиотеки, в т.ч. zlib1.dll?
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

mevial

Цитата: zap от 05 Дек. 2011 в 19:05
У меня инфа из MSDN в голове не задерживается :D
Фу, какая гадость эта ваша виндовс.
Тогда почему не работал XPD из твоего архива, где все DLL'ки были сложены в кучу вместе со скриптом?

P.S. Такой вариант: если в свойствах запускающей иконки в качестве "текущего каталога" прописать каталог, где лежат gtk'шные библиотеки, в т.ч. zlib1.dll?

Постараюсь объяснить:
1. загрузка библиотеки из папки с текущим исполняемым модулем(с файлом *.pyd в нашем случае)
2. загрузка библиотеки из текущей папки(из которой запускали xpd), но это в старой винде, в новой пропатчили передвинув на позицию между 5 и 6 из-за потенциальной дыры и множественных хаков с подменой системных dll.
3. загрузка из системной папки 32битной версии винды (windows\system32)
4. загрузка из системной папки 16битной версии винды (windows\system), не работает в семёрке, и правильно, нефиг.
5. загрузка из корневой папки системы (windows), тоже было удалено обновлениями.
6. загрузка из папки указанной в переменной PATH(т.е. что вы и вставляли).
Те списки, что я выкладывал - это копирование библиотек в 1ю позицию, удалять ничего не надо.
А тот патченный вариант, что я выкладывал должен загружать из 2й позиции, но только в старых не пропатченных системах, в обновлённых он не работает из-за позиции между 5 и 6.
Ну и ваш вариант в винде не работает ибо в 6й позиции.
Надеюсь теперь-то понятно?
PS: Винда не наша, мы и гентой прекрасно обходимся(и бубунтой не брезгуем на ноуте).

zap

Я понял, был не в  курсе насчёт того, что некрософт сдвинули текущий каталог в последнюю позицию. В той ссылке на MSDN'е текущий каталог на втором месте.
Я согласен, что это вопиющая дыра, и я бы вообще убрал текущий каталог из списка, как в нормальных операционных системах.
Бардак же в том, что нет способа добавить в пути поиска приоритетный путь! В Linux есть куча переменных окружения, влияющих на динамический линкер. Был бы в винде аналог LD_LIBRARY_PATH, не было бы никаких проблем.

Получается как обычно, грязно хакнули винду чтобы решить вопиющую проблему с безопасностью, в результате вообще не осталось способа подсунуть программе приоритетный каталог с DLL'ками.

Убожество {tm}.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

mevial

Цитата: zap от 05 Дек. 2011 в 21:23
Получается как обычно, грязно хакнули винду чтобы решить вопиющую проблему с безопасностью, в результате вообще не осталось способа подсунуть программе приоритетный каталог с DLL'ками.

Убожество {tm}.
Каталог нельзя, но отдельную dll можно, опять же выше давал способ через добавление ключа в реестр.

zap

KnownDLLs не годится, это глобальный параметр. А требуется локальный способ переопределения. Для этого, собственно, переменные окружения и были придуманы изначально.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

DarthGray

Ну в конце концов всё это можно в отдельно стоящий ехе-шник скомпилировать
Понятно, что при этом теряется принцип открытого исходного кода
Но может оно и мало кому надо?
За то как раз для "домохозяек" получится :D
Различие между теорией и практикой на практике гораздо больше, чем в теории.

mevial

Цитата: DarthGray от 06 Дек. 2011 в 10:45
Ну в конце концов всё это можно в отдельно стоящий ехе-шник скомпилировать
Понятно, что при этом теряется принцип открытого исходного кода
Но может оно и мало кому надо?
За то как раз для "домохозяек" получится :D
Так были бы си, и то программист обязан знать "Убожество {tm}" для домохозяек, т.е. вы вынуждаете человека изучать винду, изучать виндовое API(а оно не такое уж для домохозяек), писать несколько программ под несколько платформ... Многовато что-то для простого энтузиазма. Человек написал на том, что знает, под свой телефон, линуксоидам повезло, во всех современных линуксах есть питон да и без gtk не обходится. Далее человек дал вам инструкцию как установить питон и gtk на винду(а ему пришлось и самому это изучать), и вы его ещё упрекаете в том, что это не один exe искаропки? В линухе у меня xpd встала в 2 клика, и 3й клик на иконке для запуска, всё, а вот вяндааааааа... Тут нужно подпрягать прогеров под вянду, чтобы они делали кастомный инстоллер, который копировал бы нужные dll в соответствующую папку с pyd файлом, при этом помнил куда установлены питон и gtk. Я вот прошивалку смартбмс написал под линукс, и не горю желанием изучать досконально вянду, чтобы переписать под неё, для домохозяек. Если кто даст реальное АПИ для работы с ddc то напишу, а так ну его в баню.

DarthGray

Цитата: mevial от 06 Дек. 2011 в 12:46
.. т.е. вы вынуждаете человека изучать винду, изучать виндовое API(а оно не такое уж для домохозяек), писать несколько программ под несколько платформ...

Ничего я никого не вынуждаю, с чего это вы взяли?
Ну не знаю я ваш питон :ah:, я считал что любой язык высокого уровня позволяет скомпелировать запускаемую программу
А си тут ваще не при чём. я его тоже не знаю и знать не хочу
Я только 6 ассемблеров знаю...
А под винду проще всего на вижелбейсике делать. как то баловался лет 20 назад
Различие между теорией и практикой на практике гораздо больше, чем в теории.

mevial

Цитата: DarthGray от 06 Дек. 2011 в 13:25
Цитата: mevial от 06 Дек. 2011 в 12:46
.. т.е. вы вынуждаете человека изучать винду, изучать виндовое API(а оно не такое уж для домохозяек), писать несколько программ под несколько платформ...

Ничего я никого не вынуждаю, с чего это вы взяли?
Ну не знаю я ваш питон :ah:, я считал что любой язык высокого уровня позволяет скомпелировать запускаемую программу
А си тут ваще не при чём. я его тоже не знаю и знать не хочу
Я только 6 ассемблеров знаю...
А под винду проще всего на вижелбейсике делать. как то баловался лет 20 назад
Школьный курс информатики: Языки бывают компиляторы и интерпретаторы. Компиляторы сначала собирают исполняемый файл, а потомего можно выполнить(всякие си, паскаль, некоторые варианты бейсиков). Интерпретаторы исполняют непосредственно исходник построчно, вот питон это один из них. Плюс интерпретатора, что исправить можно там же где и запускается, минус - быстродействие, но в данной задаче и при современных компах это не критично, не музыку оцифровываем с геймпорта. А был бы компилятор, то можно было бы все библиотеки статиком зафигачить в один exe файл... О пошла мысля, щас попробую портабельную версию xpd собрать, в одном exe вместе с питоном, гтк и сериалом. :)

DarthGray

Понято
Ну не было у меня в школе курса информатики, рановато родился...
Различие между теорией и практикой на практике гораздо больше, чем в теории.

mevial

Итак, собрал портативную версию в одном exe файле, правда весит кошмарно 52МБ. Оптимизировать и почистить можно, снапшот виртуалбокса сделал, но сначала пусть кто-нибудь проверит данный вариант как есть, вернув старенький zlib1.dll в его "законное" место в system32.

zap

Есть специально обученный компилятор для Питона, по сути он выдёргивает всё что нужно и складывает в один отдельный файл.
Называется py2exe.
Но он не сработал на XPD, я пробовал как-то давно. Вроде всё сделал, но результат не запускался. Наверное, py2exe запутался в функциях gtk.

А этот екзешник чем собран? Там, боюсь, Питон полезет за своими настройками в реестр, они реплицируются?

P.S. Уау, какой-то вмваре тул. Под вайном запустился влёт :D
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

DarthGray

Цитата: mevial от 06 Дек. 2011 в 16:55
Итак, собрал портативную версию в одном exe файле, правда весит кошмарно 52МБ. Оптимизировать и почистить можно, снапшот виртуалбокса сделал, но сначала пусть кто-нибудь проверит данный вариант как есть, вернув старенький zlib1.dll в его "законное" место в system32.

Вернул zlib1.dll в зад, xpd.pyw есс-но не запускается
Ваша портабельная сборка запустилась сходу
Правда на англицком...
Различие между теорией и практикой на практике гораздо больше, чем в теории.

oburmistrov

Цитата: mevial от 06 Дек. 2011 в 16:55
Итак, собрал портативную версию в одном exe файле, правда весит кошмарно 52МБ. Оптимизировать и почистить можно, снапшот виртуалбокса сделал, но сначала пусть кто-нибудь проверит данный вариант как есть, вернув старенький zlib1.dll в его "законное" место в system32.
Здравствуйте. Проверил портативную версию на двух своих компьютерах, на которых не запускался XPD.
XPD запустился без проблем. Огромное спасибо!!!!!!

mevial

Сказал А, придётся говорить и Б... Буду пробовать сделать её компактнее и с русским. Zap, от чего зависит выбор языка? Винда у меня официальная русская, без муёв.

zap

Язык берётся откуда-то из реестра. По-моему из HKEY_CURRENT_USER\Control Panel\International
Как там эмулирует реестр вмтварь я не в курсе.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

oburmistrov

Цитата: mevial от 21 Дек. 2011 в 19:18
Сказал А, придётся говорить и Б... Буду пробовать сделать её компактнее и с русским. Zap, от чего зависит выбор языка? Винда у меня официальная русская, без муёв.
У меня за иключением 6 кнопок с права всё на русском.

mevial

Чуточку умял портабельную версию, теперь она в архиве 8МБ занимает. Если вдруг у кого не запустится, то есть консольный вариант, делал себе на момент отладки(functools.py прятался от procmon'а и ничего не запускалось), с него можно подсмотреть сообщение об ошибке.