GNU/Linux >> Linux の 問題 >  >> Linux

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

他の回答者が述べたように、クロスコンパイル機能は 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 実行可能ファイルをビルドできるようになりました。詳細については、ドキュメントを参照してください。

私自身は試していません。

お役に立てば幸いです


Linux
  1. Pythonスクリプトを使用したScientificLinux7.1のベクトル代数:パート1

  2. LinuxでWineをインストールしてWindowsアプリを実行する方法

  3. Python を使用して WMI を照会する方法 (Linux – Windows)

  1. Linux で Python スクリプトをサービスまたはデーモンのように実行する方法

  2. LinuxでPythonからWine dllを呼び出す方法は?

  3. Pythonスクリプトを使用してLinuxターミナルを終了するには?

  1. Linux で Python スクリプトを使用してスクリーンショットを撮る

  2. Linuxでpythonプログラムを実行可能にするために何を使用しますか

  3. PHP スクリプト - Linux と Windows のどちらで実行されているかを検出しますか?