WineにPythonをインストールするとは、通常、グラフィカルインストーラを実行することを意味しますが、そのオプションがないのでダウンロードしました。Windows x86-64 組み込み zip ファイル~からPython 3.6.0そしてパッケージを開いてみてください。
ただし、実行すると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です。
答え1
Python は Wine を実行しているすべてのシステムでうまく動作するため、Wine で Python を実行する必要があるユーザーはほとんどいません。しかし、これには理由があり、あなたにも理由があるようです(PyInstallerを使用してWindowsインストーラを構築すること)。
もちろん、特定のバージョンのPythonは特定のバージョンのWineで実行されます。残念ながら動作しない組み合わせが発生しました。
どうしたの?
会ったようですねバグ #39437: "Visual Studio 2015 でコンパイルされた C++ プログラムが実行されません。"。
_initialize_onexit_table
実行中のプログラムは、というライブラリから呼び出された関数を使用しますapi-ms-win-crt-runtime-l1-1-0.dll
。
Wineは独自のバージョンを提供していますが、最近(2016年半ば)にapi-ms-win-crt-runtime-l1-1-0.dll
この機能をサポートしました。_initialize_onexit_table
Wine 2.0はこの機能をサポートする最初の安定版でしたが、それ以降は開発版でもサポートされています。1.9.9。
Wine 2.0は今後数週間以内にリリースされる予定ですが、リリース候補はすでに公開されています。ワイン2.0リリースこの質問が投稿されてから数週間後です。
ワインをアップグレードできませんか?
Windowsコンピュータでは、このライブラリのMicrosoftバージョンを使用しています。 Microsoft バージョンのコピーがある場合は、組み込みバージョンの代わりに使用するように Wine を構成できます。
Wineシステムを使用してoverride
これを行うことができます(wincfgまたは設定WINEDLLPATH
とWINEDLLOVERRIDES
環境変数を使用)。
というプロジェクトがあります。ワイン製造のヒントMicrosoftのライブラリをダウンロードし、それを使用するようにWineを設定します。
要約すると
Wineのバージョンをアップグレードするか、Pythonのバージョンをダウングレードしてください。
アップグレードできない場合は、いくつかの回避策がありますが、アップグレードが最善の選択肢かもしれません。