Linux 上の Python スクリプトを Windows 実行ファイルにパッケージ化する 質問する

Linux 上の Python スクリプトを Windows 実行ファイルにパッケージ化する 質問する

Windows実行ファイルにコンパイルしたいPythonスクリプトがあります。Windowspy2exeでは問題なく動作しますが、Linuxでも実行できるようにしたいです。する開発マシンには Windows が搭載されていますが、Linux が主な開発プラットフォームなので、 を作成するために Windows を再起動するのはうんざりしています.exe。また、VirtualBox などの仮想マシンで実行するために 2 つ目の Windows ライセンスを購入する必要もありません。何かアイデアはありますか?

PS: Python インタープリターを使用してスクリプトをパッケージ化するのとまったく同じで、Python ファイルを正確にコンパイルするわけではないことは承知していますpy2exe。しかし、いずれにしても、スクリプトを実行するために Python をインストールする必要はなくなります。

ベストアンサー1

他の回答者が述べたように、クロスコンパイル機能は削除されましたPyインストーラ以降1.5。ここでは、PythonスクリプトからWindows実行ファイルをパッケージ化する方法を示します。Pyインストーラワイン

ステップ1: WineとPythonをインストールする

sudo apt-get install wine
wine msiexec /i python-2.7.10.msi /L*v log.txt

追伸:

  • 新しいバージョンの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

参照するここ詳細な説明については。

おすすめ記事