他の回答者が述べたように、クロスコンパイル機能は 1.5
以降 PyInstaller から削除されました .ここでは、ワインの下で PyInstaller を使用して Python スクリプトから Windows 実行可能ファイルをパッケージ化する方法を示します。
ステップ 1:wine と Python をインストールする
sudo apt-get install wine
wine msiexec /i python-2.7.10.msi /L*v log.txt
PS:
-
新しい Python バージョンには既に
pip
が含まれています (pyinstaller
のインストールに使用されます )。ここから Python インストール パッケージをダウンロードします (例:python-2.7.10.msi
) -
macos ユーザーの場合は、
brew cask install xquartz wine-stable
を使用します .
ステップ 2:Wine に PyInstaller をインストールする
$ cd ~/.wine/drive_c/Python27
$ wine python.exe Scripts/pip.exe install pyinstaller
Successfully installed pyinstaller-3.1.1 pypiwin32-219
ステップ 3:Python スクリプトをパッケージ化する
Python スクリプトをパッケージ化します (例:HelloWorld.py
) pyinstaller
で .
$ wine ~/.wine/drive_c/Python27/Scripts/pyinstaller.exe --onefile HelloWorld.py
# filename: HelloWorld.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
print('Hello World!')
Windows 実行可能ファイルは dist/
にあります。 .
$ wine dist/HelloWorld.exe
Hello World!
fixme:msvcrt:__clean_type_info_names_internal (0x1e24e5b8) stub
詳細な説明はこちらを参照してください。
PyInstaller を見ましたか?
1.4 までのバージョンはクロスコンパイルをサポートしているようです (サポートは 1.5+ で削除されました)。 Wine で PyInstaller 1.5+ を使用する方法については、この回答を参照してください。
ドキュメントには次のように記載されています:
<ブロック引用>クロスコンパイルのサポートを追加:PyInstaller は、Linux での実行時に Windows 実行可能ファイルをビルドできるようになりました。詳細については、ドキュメントを参照してください。
私自身は試していません。
お役に立てば幸いです