Проблемы с Python 2.7 + wxPython 2.8.11? Должен ли я вернуться к Python 2.6.5 + wx.Python 2.8.10.1? - PullRequest
0 голосов
/ 17 ноября 2010

В настоящее время я использую Python 2.7 + wxPython 2.8.11 на моей машине с Windows.При попытке создать небольшой проект (который также использует комтипы и, скажем, любой activex, например flashwindow), я получаю следующую ошибку:

>>>"c:\Program Files\Python_2.7\python.exe" setup.py py2exe
running py2exe
*** searching for required modules ***
*** parsing results ***
*** finding dlls needed ***
error: MSVCP90.dll: No such file or directory

Я исправил ее, скопировав файл .dll и .manifest.в каталог.Строит нормально.Но снова во время выполнения я получил ошибки, такие как «CreateActCtx», с ошибкой 0x0000007b, за которой следует

File "zipextimporter.pyo", line 82, in load_module
File "wx\lib\flashwin.pyo", line 15, in 
File "zipextimporter.pyo", line 82, in load_module
File "wx\lib\activex.pyo", line 44, in <module>
ImportError: cannot import name myole4ax 

Итак, я обновил свой wxPython до 2.9 * (Python 2.7), где происходит сбой с невозможностью найтиPROCESS_START.Итак, мне пришлось вернуться к 2.8.11 (с Python 2.7). Теперь происходит сбой со следующим (после копирования MSVC * 90.dll в локальный каталог и после сборки в один исполняемый файл):

C:\testflv> testflv.exe
Traceback (most recent call last):
  File "testflv.py", line 10, in <module>
  File "zipextimporter.pyo", line 82, in load_module
  File "wx\__init__.pyo", line 45, in <module>
  File "zipextimporter.pyo", line 82, in load_module
  File "wx\_core.pyo", line 4, in <module>
  File "zipextimporter.pyo", line 98, in load_module
ImportError: MemoryLoadLibrary failed loading wx\_core_.pyd

Кажется, что есть проблема с myole4ax *, как упомянуто здесь (http://comments.gmane.org/gmane.comp.python.wxpython.devel/3114):

> Looks like the installer on windows does not include
> wx/lib/myole4ax.tlb and the brand new comtypes based ActiveX stuff
> does not work.
> After getting the missing stuff from SVN import errors go away.

Oops.  Sorry about that.  For the record here is the link to get the file.

http://trac.wxwidgets.org/browser/wxPython/branches/WX_2_8_BRANCH/wx/lib/myole4ax.tlb

Как я могу решить проблему или мне нужно переключиться на более старые версии? Я застрял. Любая помощьв этом отношении был бы высоко оценен.

Спасибо.

1 Ответ

0 голосов
/ 18 ноября 2010

Я тоже пробовал старую версию, но не очень помог, но она помогла мне разобраться. При попытке связать вещи в исполняемый файл я получил это предупреждение / сообщение об ошибке:

*** copy extensions ***
*** copy dlls ***
copying C:\Program Files\Python_2.6.5\w9xpopen.exe -> c:\wxpython\test\dist
copying C:\Program Files\Python_2.6.5\lib\site-packages\py2exe\run.exe -> c:\wxpython\test\dist\testactivex.exe
Adding python26.dll as resource to c:\wxpython\test\dist\testactivex.exe
The following modules appear to be missing
['comtypes.gen']

Так вот почему при запуске исполняемого файла произошла ошибка со следующей ошибкой:

c:\wxpython\test\dist>testactivex.exe
10:13:16: Debug: src/helpers.cpp(140): 'CreateActCtx' failed with error 0x0000007b (the filename, directory name, or volume label syntax is incorrect.).
Traceback (most recent call last):
  File "testactivex.py", line 24, in <module>
ImportError: cannot import name myole4ax

Но когда мы выполняем, используя

python.exe testactivex.py

Работает нормально. Я попытался покопаться в ней и нашел несколько интересных ссылок:

  1. http://markmail.org/message/btbsrqhvfvyclfgo#query:+page:1+mid:btbsrqhvfvyclfgo+state:results

  2. http://translate.google.com/translate?hl=en&sl=ja&u=http://blog.loadlimits.info/2010/01/py2exewxpython%25E3%2581%25A7myole4ax%25E3%2581%258C%25E8%25A6%258B%25E3%2581%25A4%25E3%2581%258B%25E3%2582%2589%25E3%2581%25AA%25E3%2581%2584%25E3%2581%25A8%25E8%25A8%2580%25E3%2582%258F%25E3%2582%258C%25E3%2582%258B%25E5%2595%258F%25E9%25A1%258C/&ei=T3DlTNmwNIeqsAOe_JWxCw&sa=X&oi=translate&ct=result&resnum=6&ved=0CDUQ7gEwBQ&prev=/search%3Fq%3DImportError:%2Bcannot%2Bimport%2Bname%2Bmyole4ax%26hl%3Den%26rlz%3D1R2ADRA_enUS387%26prmd%3Div


Хотя я получил представление о проблеме, но не смог найти способ решения проблемы myole4ax и comtypes.gen. Если кто-нибудь из вас знает, как сделать упаковку с этим или создать exe-файл без проблем, пожалуйста, дайте мне знать.

ImportError: cannot import name myole4ax 

Проблема myole4ax и comtypes.gen заключалась в том, что у нее недостаточно прав. Скомпилировано из командной строки в режиме администратора, и проблема решена.

Большое спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...