ejecutando python3 portátil debajo del vino

Instalar Python en el vino generalmente significa ejecutar un instalador gráfico, pero no tengo esa opción, así que en su lugar descargo el file zip embedded Windows x86-64 de Python 3.6.0 y lo descomprimo.

Sin embargo, cuando ejecuto wine python.exe obtengo errores:

 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 

¿Qué se puede hacer al respecto? La versión de vino es 1.8.

Pocos usuarios necesitan ejecutar Python en Wine, ya que Python funciona muy bien de forma nativa en todos los sistemas en los que Wine trabaja. Sin embargo, hay razones para hacerlo y parece que tiene uno (comstackndo un instalador de Windows con PyInstaller).

Algunas versiones de Python ciertamente pueden ejecutarse en algunas versiones de Wine. Desafortunadamente, te has encontrado con una combinación que no funciona.


Qué esta pasando

Parece que te estás encontrando con el Bug # 39437: "Los progtwigs C ++ comstackdos de Visual Studio 2015 no se ejecutan" .

El progtwig que está ejecutando usa una function llamada _initialize_onexit_table de una biblioteca llamada api-ms-win-crt-runtime-l1-1-0.dll .

Wine proporciona su propia versión de api-ms-win-crt-runtime-l1-1-0.dll pero no admite la function _initialize_onexit_table hasta hace relativamente poco (mediados de 2016). Wine 2.0 es la primera versión estable que admite esta function, aunque las versiones de desarrollo lo admiten desde 1.9.9 .

Wine 2.0 probablemente se lanzará en las próximas dos semanas, pero los candidatos de lanzamiento ya están disponibles. Wine 2.0 fue lanzado un par de semanas después de que se publicó esta pregunta.

No se puede actualizar Wine?

En una computadora con Windows, estarías usando la versión de Microsoft de esa biblioteca. Si tiene una copy de la versión de Microsoft, puede configurar Wine para usarla en lugar de su versión integrada.

Puede utilizar el sistema de override de Wine para lograr esto (utilizando winecfg o estableciendo las variables de entorno WINEDLLPATH y WINEDLLOVERRIDES ).

Hay un proyecto llamado Winetricks que puede download las bibliotecas de Microsoft y configurar su Wine para usarlas.

En conclusión

Actualiza tu versión de Wine o baja la versión de Python.

Hay forms de evitarlo si no puede actualizar, pero la actualización es probablemente su mejor opción.