Pergunta

Estou construindo uma aplicação python de algum código fonte que eu encontrei Aqui

Eu consegui compilar e corrigir alguns problemas, pesquisando na web, mas eu estou preso neste momento:

Ao executar o aplicativo esta parece mensagem.

alt texto http://img511.imageshack.us/img511/4481/loadfr0 .png

Este aplicativo python, usues gole de link para c / c ++ código.

Eu tenho VC ++ 2005 Express Edition que eu usei para compilar junto com scons e Python 2.5 (e tentou 2.4 também)

As DLLs que estão tentando carga é "msvcr80.dll", porque antes que a mensagem era "msvcr80.dll" não pode ser encontrado ou algo assim, então eu tenho-o e solte-o na pasta window32.

Para que eu li aqui: http://msdn.microsoft.com/en-us /library/ms235591(VS.80).aspx

A solução é executar MT com o manifesto e o arquivo DLL. Eu fiz isso e já não quer trabalhar.

Poderia alguém me aponte para a direção correta?

Este é o conteúdo do fie manifesto:

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type='win32' name='Microsoft.VC80.CRT' version='8.0.50608.0' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
    </dependentAssembly>
  </dependency>
</assembly>

Eu vou tentar Python 2.6 agora, eu não tenho certeza de entender o problema, mas Python 2.5 e Python 2.5 .exe teve a string "MSVCR71.dll" dentro do arquivo .exe. Mas, provavelmente, isso não tem nada a fazer.

ps. Se tudo foi tão fácil como arquivos jar :(

Este é o rastreamento de pilha para ser completo

None
INFO:root:Skipping provider enso.platform.osx.
INFO:root:Skipping provider enso.platform.linux.
INFO:root:Added provider enso.platform.win32.
Traceback (most recent call last):
  File "scripts\run_enso.py", line 24, in <module>
    enso.run()
  File "C:\oreyes\apps\enso\enso-read-only\enso\__init__.py", line 40, in run
    from enso.events import EventManager
  File "C:\oreyes\apps\enso\enso-read-only\enso\events.py", line 60, in <module>
    from enso import input
  File "C:\oreyes\apps\enso\enso-read-only\enso\input\__init__.py", line 3, in <module>
    _input = enso.providers.getInterface( "input" )
  File "C:\oreyes\apps\enso\enso-read-only\enso\providers.py", line 137, in getInterface
    interface = provider.provideInterface( name )
  File "C:\oreyes\apps\enso\enso-read-only\enso\platform\win32\__init__.py", line 48, in provideInterface
    import enso.platform.win32.input
  File "C:\oreyes\apps\enso\enso-read-only\enso\platform\win32\input\__init__.py", line 3, in <module>
    from InputManager import *
  File "C:\oreyes\apps\enso\enso-read-only\enso\platform\win32\input\InputManager.py", line 7, in <module>
    import _InputManager
ImportError: DLL load failed: Error en una rutina de inicializaci¾n de biblioteca de vÝnculos dinßmicos (DLL).
Foi útil?

Solução

Eu tenho sido capaz de compilar e executar Enso usando / LD como uma bandeira compilador. Este link dinamicamente para o runtime do MS Visual C ++, e parece permitir-lhe fugir sem um manifesto.

Se você estiver usando SCons, consulte o arquivo diff aqui: http://paste2.org/p/ 69.732

Outras dicas

Olhando para a sua atualização, parece que você precisa instalar pycairo desde que você está perdendo o módulo _cairo instalado como parte do pycairo. Veja a pycairo de downloads página para obter instruções sobre como obter / instalar os binários para Windows.

Você provavelmente precisará instalar o VC ++ redistributables tempo de execução. Os links para eles são aqui .

update Eu fiz o download python2.6 e VS C ++ Express Edition 2008 e o problema com o msvcr80.dll se foi (eu assumo porque Python e VSC ++ 2008xe uso msvscr90.dll)

Eu compilação já com / LD e todas as mudanças aqui: http://paste2.org/p / 69732

E agora o problema seguinte:

INFO:root:Skipping provider enso.platform.osx.
INFO:root:Skipping provider enso.platform.linux.
INFO:root:Added provider enso.platform.win32.
INFO:root:Obtained interface 'input' from provider 'enso.platform.win32'.
Traceback (most recent call last):
  File "scripts\run_enso.py", line 23, in <module>
    enso.run()
  File "C:\oreyes\apps\enso\enso-comunity\enso\__init__.py", line 41, in run
    from enso.quasimode import Quasimode
  File "C:\oreyes\apps\enso\enso-comunity\enso\quasimode\__init__.py", line 62, in <module>
    from enso.quasimode.window import TheQuasimodeWindow
  File "C:\oreyes\apps\enso\enso-comunity\enso\quasimode\window.py", line 65, in <module>
    from enso.quasimode.linewindows import TextWindow
  File "C:\oreyes\apps\enso\enso-comunity\enso\quasimode\linewindows.py", line 44, in <module>
    from enso import cairo
  File "C:\oreyes\apps\enso\enso-comunity\enso\cairo.py", line 3, in <module>
    __cairoImpl = enso.providers.getInterface( "cairo" )
  File "C:\oreyes\apps\enso\enso-comunity\enso\providers.py", line 137, in getInterface
    interface = provider.provideInterface( name )
  File "C:\oreyes\apps\enso\enso-comunity\enso\platform\win32\__init__.py", line 61, in provideInterface
    import enso.platform.win32.cairo
  File "C:\oreyes\apps\enso\enso-comunity\enso\platform\win32\cairo\__init__.py", line 1, in <module>
    from _cairo import *
ImportError: No module named _cairo
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top