+-
在wine下运行便携式python3
在wine下安装 python通常意味着运行图形安装程序,但我没有那个选项,所以我从 Python 3.6.0下载Windows x86-64嵌入式zip文件并解压缩.

但是,当我运行wine python.exe时,我收到错误:

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

可以做些什么呢?葡萄酒版是1.8.

最佳答案
很少有用户需要在Wine下运行Python,因为Python在Wine工作的所有系统上都能很好地工作.但是,有理由这样做,似乎你有一个(使用PyInstaller构建Windows安装程序).

某些版本的Python当然可以在某些版本的Wine上运行.不幸的是,你遇到了一个不起作用的组合.

发生了什么

看起来你已经遇到了Bug #39437: “Visual Studio 2015-compiled C++ programs do not run”.

您正在运行的程序使用名为_initialize_onexit_table的函数,该函数名为api-ms-win-crt-runtime-l1-1-0.dll.

Wine提供了自己版本的api-ms-win-crt-runtime-l1-1-0.dll,但它直到最近(2016年中)才支持_initialize_onexit_table函数. Wine 2.0是第一个支持此功能的Stable版本,尽管自1.9.9开发版本支持它.

Wine 2.0可能会在接下来的几周内发布,但已发布候选版本.发布此问题后的几周,Wine 2.0 was released.

无法升级葡萄酒?

在Windows计算机上,您将使用该库的Microsoft版本.如果您有Microsoft版本的副本,则可以将Wine配置为使用它而不是其内置版本.

您可以使用Wine的覆盖系统来实现此目的(使用winecfg或设置WINEDLLPATH和WINEDLLOVERRIDES环境变量).

有一个名为Winetricks的项目,它可以下载Microsoft的库并配置您的Wine以使用它们.

结论

升级您的Wine版本,或降级您的Python版本.

如果你无法升级,有很多方法,但升级可能是你最好的选择.

点击查看更多相关文章

转载注明原文:在wine下运行便携式python3 - 乐贴网