Я пытаюсь запустить программу py2exe'd (package.py), которая включает pysvn.Он не запускается со следующей ошибкой:
Traceback (most recent call last):
File "package.py", line 27, in <module>
File "zipextimporter.pyc", line 82, in load_module
File "pysvn\__init__.pyc", line 99, in <module>
File "zipextimporter.pyc", line 98, in load_module
ImportError: MemoryLoadLibrary failed loading pysvn\_pysvn_2_6.pyd
Сценарий отлично работает для других в офисе, разница в том, что я на Windows 7 x64 с ними на WinXP x86.У меня есть _pysvn_2_6.pyd в моем каталоге pysvn.
На странице «Проблемы, которые нужно исправить» Py2exe есть похожее сообщение об ошибке с WxPython, где он не может найти необходимый системный модуль, но я не использую WxPython, и у меня естьdll, на который они ссылаются в любом случае.
Страница py2exe "Работа с различными пакетами и модулями" не относится к pysvn, и я не могу найти никого другого с подобными проблемами.
Я проверил вывод py2exe, обозначенный этим ответом , но на моем компьютере все необходимые двоичные файлы находятся в правильных местах.
РЕДАКТИРОВАТЬ:Я просто попытался запустить другие программы, созданные py2exe на той же машине, и они тоже не удалось.Кажется, что проблема в моей машине (то есть x64), а не в конкретной программе, которую я конвертировал;Я получаю аналогичную ошибку с другой программой:
Traceback (most recent call last):
File "rundemo.py", line 13, in <module>
import win32api as w32
File "zipextimporter.pyc", line 98, in load_module
ImportError: MemoryLoadLibrary failed loading win32api.pyd
EDIT2: я попробовал программы py2exe, сгенерированные из моего 64-битного компьютера, на 32-битной машине, и они потерпели неудачу с той же ошибкой.Я думаю, что я генерирую 32-битный exe-файл (документы py2exe говорят, что 64-битная поддержка является экспериментальной, и я не включил ее явно), но я не уверен, как это проверить.