はじめに
Pythonスクリプトを実行するには、Pythonをインストールしたり、多数のモジュールをインストールしたり、コマンドラインを使用したりするなど、多くの前提条件が必要です。 .exe
ファイルを実行するのは非常に簡単です。
単純なアプリケーションを作成し、多くのユーザーに配布したい場合は、短いPythonスクリプトとして書くことは難しくありませんが、ユーザーがスクリプトの実行方法を知っており、Pythonがすでにマシンにインストールされていることを前提としています。このような例は、Windows上で.py
プログラムを同等の.exe
プログラムに変換する正当な理由があることを示しています。 .exe
は”Executable File”の略で、バイナリとも呼ばれます。
これを実現する最も一般的な方法は、py2exe
モジュールを使用することです。 この記事では、py2exe
の基本を簡単に説明し、いくつかの一般的な問題のトラブルシューティングを行います。 これに従うには、高度なPythonの知識は必要ありませんが、Windowsを使用する必要があります。
解釈された言語コードを実行可能ファイルに変換することは、一般的に凍結と呼ばれる方法です。
py2exeのインストール
py2exe
モジュールを使用するには、それをインストールする必要があります。 それでは、そうしましょうpip
:
$ pip install py2exe
にPythonスクリプトを変換します。exe
まず、コンソールにテキストを出力するプログラムを書きましょう:
import mathprint("Hannibal ante Portas")print(factorial(4))
Windowsのコマンドラインで次のコマンドを実行してディレクトリ(exampDir
)を作成し、既に書いたコードを上記のディレクトリに移動し、最後に実行しましょう:
$ mkdir exampDir$ move example.py exampDir$ cd exampDir$ py example.py
これは出力する必要があります:
Hannibal ante Portas24
スクリプトを実行可能ファイルに変換する前に、必ずテストして、エラーが発生した場合にソースコードが原因ではないことを確認してください。
設定と設定
同じフォルダにsetup.py
という別のファイルを作成します。 ここでは、プログラムをコンパイルする方法についての設定の詳細を保持します。 私たちはちょうど今のところそれにコードのカップル行を入れてみましょう:
from distutils.core import setup # Need this to handle modulesimport py2exe import math # We have to import all modules used in our programsetup(console=) # Calls setup function to indicate that we're dealing with a single console application
グラフィカルなUIを持つアプリを扱っていた場合、console
をwindows
に置き換えると次のようになります:
setup(windows=)
今、管理者としてコマンドプロンプトを開き、先ほど言及したディレクトリに移動し、setup.py
ファイルを実行します:
$ cd exampDir$ python setup.py py2exerunning py2exe*** searching for required modules ****** parsing results ***...
distフォルダ
すべてが正しく行われている場合、これはdist
というサブディレクトリを生成する必要があります。 その中には、あなたのプログラムに応じていくつかの異なるファイルがあり、そのうちの1つはexample.exe
でなければなりません。 コンソールから実行するには、次のように実行します:
$ example
そして、あなたは4の値が続く私たちのラテン語の引用によって挨拶されます!:
Hannibal ante Portas24
または、それをダブルクリックすると、コンソールで実行されます。
すべてのファイルをバンドルしたい場合は、bundle_files
とcompressed
を追加し、zipfile
をNoneに設定します:
from distutils.core import setupimport py2exesetup( options = {'py2exe': {'bundle_files': 1, 'compressed': True}}, console = , zipfile = None,)
そして、生成するためのコマンドを再実行します。exeファイル。
これで、エンドユーザーは、ローカルマシンにインストールされている知識や前提条件なしにスクリプトを実行できます。
トラブルシューティング
.py
ファイルを.exe
ファイルに変換する際のエラーは一般的なので、いくつかの一般的なバグと解決策をリストします。
py2exeを使用した後に欠落しているDLL-sを修正する方法
py2exeの一般的な問題は.dll
-sがありません。DLLは”dynamic-link library”の略で、バグを作るためだけのものではありません。 DLLには、実行中にプログラムが必要とするコード、データ、およびリソースが含まれています。
.exe
を実行した後、次のようなシステムエラーが発生した場合:
The program can't start because something.dll is missing from your computer. Try reinstalling the program to fix this problem.
またはコマンドラインは言う:
ImportError: (DLL load failed: The specified module could not be found.)
解決策は、欠落している.dll
を見つけて、それをdistフォルダに入れることです。 これを行うには2つの方法があります。
- コンピュータでファイルを検索し、コピーします。 これはほとんどの場合動作します。
- 行方不明の
.dll
をオンラインで見つけてダウンロードします。 いくつかの日陰のウェブサイトからダウンロードしないようにしてください。Py2exeを使用して32/64ビットの実行可能ファイルを生成する方法は?64ビット実行可能ファイルを作成するには、デバイスに64ビットのPythonをインストールします。 同じことが32ビットバージョンにも当てはまります。
linuxまたはMacでpy2exeを使用する方法
py2exe
は、作成を目的としているため、LinuxまたはMacではサポートされていません。windows固有の形式であるexeファイル。 MacとLinuxの両方でWindows仮想マシンをダウンロードしたり、Wineを使用したり、LinuxではPyinstaller、Macではpy2appなどの別のツールを使用することができます。結論
PythonプロジェクトをWindowsデバイスで簡単に実行できるようにするには、実行可能ファイルを生成する必要があります。 Pyinstaller、auto-py-to-exe、cx_freeze、py2exeなど、さまざまなツールを使用できます。
バイナリファイルはDLL-sを使用する可能性があるため、プロジェクトに含めるようにしてください。