executando python3 portátil sob vinho

2

Instalar python sob wine geralmente significa executar um instalador gráfico, mas eu não tenho essa opção, então eu baixo arquivo zip embutido do Windows x86-64 de Python 3.6.0 e descompacte-o.

No entanto, quando executo wine python.exe , recebo erros:

wine: Call from 0x7b83c3ae to unimplemented function api-ms-win-crt-runtime-l1-1-0.dll._initialize_onexit_table, aborting
err:module:attach_process_dlls "python35.dll" failed to initialize, aborting
err:module:LdrInitializeThunk Main exe initialization for L"Z:\<path>\python.exe" failed, status 80000100

O que pode ser feito sobre isso? Versão do vinho é de 1,8.

    
por Michael Ivko 12.01.2017 / 07:47

1 resposta

2

Poucos usuários precisam rodar o Python no Wine, já que o Python funciona muito bem nativamente em todos os sistemas em que o Wine trabalha. No entanto, existem razões para fazê-lo e parece que você tem um (construindo um instalador do Windows com PyInstaller).

Algumas versões do Python certamente podem ser executadas em algumas versões do Wine. Infelizmente, você encontrou uma combinação que não funciona.

O que está acontecendo

Parece que você está correndo para o Bug # 39437: "programas C ++ compilados pelo Visual Studio 2015 não são executados ".

O programa que você está executando usa uma função chamada _initialize_onexit_table de uma biblioteca chamada api-ms-win-crt-runtime-l1-1-0.dll .

O Wine fornece sua própria versão de api-ms-win-crt-runtime-l1-1-0.dll , mas não suportou a função _initialize_onexit_table até há relativamente pouco tempo (meados de 2016). O Wine 2.0 é a primeira versão estável que suporta essa função, embora as versões de desenvolvimento o tenham apoiado desde 1.9.9 .

O Wine 2.0 provavelmente será lançado nas próximas semanas, mas os candidatos ao lançamento já estão disponíveis. foi lançado algumas semanas após essa pergunta ser postada.

Não é possível atualizar o vinho?

Em um computador Windows, você estaria usando a versão da Microsoft dessa biblioteca. Se você tem uma cópia da versão da Microsoft, você pode configurar o Wine para usá-lo em vez de sua versão embutida.

Você pode usar o sistema override do Wine para conseguir isso (usando o winecfg ou definindo as variáveis de ambiente WINEDLLPATH e WINEDLLOVERRIDES ).

Existe um projeto chamado Winetricks que pode baixar as bibliotecas da Microsoft e configurar seu Wine para usá-las.

Em conclusão

Atualize sua versão do Wine ou faça o downgrade de sua versão do Python.

Existem maneiras de atualizá-lo, se você não conseguir atualizar, mas a atualização provavelmente é sua melhor opção.

    
por 12.01.2017 / 09:40

Tags