Pythonの.pyを.exeに変換するにはどうすればよいですか?


126

かなり単純なPythonプログラムを実行可能ファイルに変換しようとしていて、探していたものが見つからなかったため、いくつか質問があります(Python 3.6を実行しています)。

これまでに見つけた方法は次のとおりです

  1. 古いバージョンのPythonをダウンロードして使用する pyinstaller/py2exe
  2. Python 3.6で仮想環境をセットアップして、これを実行できるようにする1。
  3. PythonからC ++へのコンバーターをダウンロードして使用する。

これが私が試したこと/私が遭遇した問題です。

  • pyinstaller必要なダウンロードの前にそれをインストールしたので(pypi-something)、動作しませんでした。前提条件ファイルをダウンロードした後pyinstallerも、それが認識されません。
  • Python 2.7でvirtualenvを設定している場合、実際にPython 2.7をインストールする必要がありますか?
  • 同様に、私が目にする唯一のpythonからC ++へのコンバーターは、Python 3.5までしか機能しません。これを試みる場合、このバージョンをダウンロードして使用する必要がありますか?

4
なぜこれが反対票を投じられたのかは不明ですが(おそらくツールの推奨事項がSOのトピックから外れているため)、この質問は将来的に他の人に役立つでしょう。同様の以前の質問は、オフトピックとしてマークされていません。たとえば、stackoverflow.com
questions / 2136837 /…

回答:


127

Python 3.6で.pyを.exeに変換する手順

  1. Python 3.6をインストールする
  2. cx_Freezeをインストールします(コマンドプロンプトを開き、 pip install cx_Freeze
  3. idnaをインストールします(コマンドプロンプトを開き、 pip install idna
  4. という.pyプログラムを書くmyfirstprog.pyます。
  5. という名前の新しいpythonファイルを作成します。 setup.pyスクリプトの現在のディレクトリに。
  6. の中に setup.py、ファイル、コードの下にそのコピーを保存。
  7. Shiftキーを押しながら同じディレクトリを右クリックすると、コマンドプロンプトウィンドウを開くことができます。
  8. プロンプトで、次のように入力します python setup.py build
  9. スクリプトにエラーがなければ、アプリケーションの作成に問題はありません。
  10. 新しく作成したフォルダを確認しますbuild。その中に別のフォルダがあります。そのフォルダー内でアプリケーションを見つけることができます。それを実行します。幸せになってください。

私のブログの元のスクリプトを参照してください。

setup.py:

from cx_Freeze import setup, Executable

base = None    

executables = [Executable("myfirstprog.py", base=base)]

packages = ["idna"]
options = {
    'build_exe': {    
        'packages':packages,
    },    
}

setup(
    name = "<any name>",
    options = options,
    version = "<any number>",
    description = '<any description>',
    executables = executables
)

編集:

  • 代わりに、手順4で作成した拡張ファイル名を入力myfirstprog.pyする必要があります。.py
  • あなたは、それぞれ含まれている必要がありimport、あなたにEDパッケージを.pypackagesリスト(例:packages = ["idna", "os","sys"]
  • any name, any number, any descriptionsetup.py、ファイル、あなたがそれに応じて変更する必要があり、(例:同じままべきではありませんname = "<first_ever>", version = "0.11", description = ''
  • 手順8importを開始する前に、edパッケージをインストールする必要があります。

10
「スタンドアロン」で実行可能にする方法はありますか?私があなたの記事であなたが助言するように進むならば、私はフォルダーexe.win.32-3.6で終わります。これは、サポートファイルとディレクトリ( 'collections /'、 'email'など)でいっぱいです。単純な印刷( 'hello')にはかなりひどい。私は、他のファイルを必要とせずに、別のコンピューターでそのまま実行できる単一の実行可能ファイルを作成したいと考えています。そのためのビルドオプションはありますか?
FanaticD 2017


2
@FanaticD Pythonは最善の策ではありません。Cython(働くには悪夢)またはNuitkaが最善の策でしょう。しかし、それらを機能させること自体が成果です。
Tetora 2017年

これはPython 3.5.3で機能しますか?(Debian 9 Stretchの最後の安定版)。
ジェラール

どのようにインポートしfrom sklearn.externals import joblibますか?編集のステップ2で述べたように
ジャック

77

Python 3.6はPyInstallerでサポートされています。

Pythonフォルダーでコマンドウィンドウを開きます(コマンドウィンドウを開き、cdShiftキーを押しながら使用するか、Windowsエクスプローラーで右クリックして、[ここにコマンドウィンドウを開く]を選択します)。次に入るだけ

pip install pyinstaller

以上です。

それを使用する最も簡単な方法は、コマンドプロンプトで入力することです

pyinstaller file_name.py

使用方法の詳細については、この質問をご覧ください。


4
ちょうどpython 3.7.0でテストされました。しかし、多くの警告が正常にコンパイルされ、Windows 10で実行されています
Ole_S

2
私はpython 3.5.0でプログラムをコンパイルしましたが、警告やエラーはなく、期待どおりに動作します
Menotdan

誰かがPyinstallerで何が重要か知っていますか?Windows 10でのexeビルドはWindows 8でも機能しますか?または、Windows 10 32ビットビルドはWindows 10 64ビットシステムで動作しますか?
Derik81

27

GitHubにはauto-py-to-exeと呼ばれるオープンソースプロジェクトがあります。実際には、内部でPyInstallerを使用するだけですが、PyInstallerを制御するシンプルなGUIがあるため、快適な代替手段になる可能性があります。他のソリューションとは異なり、スタンドアロンファイルを出力することもできます。彼らはまたビデオを提供します、設定方法を示すしています。

GUI:

エグゼへの自動Py

出力:

出力


2
MVC ++が必要であることを述べたはずです。エラー:Microsoft Visual C ++ 14.0が必要です。
SKR

3
これはpyinstallerに基づいて構築されているため、値は見つかりません。pyinstallerでエラーが発生した場合は、ここにも表示されます。
CV_passionate

9

何がベストかは言えませんが、過去に成功して使用したツールはcx_Freezeでした。彼らは最近(2017年1月7日に)バージョン5.0.1に更新し、Python 3.6をサポートしています。

ここにpypiがあります https://pypi.python.org/pypi/cx_Freezeがあります

ドキュメントには、ニーズに応じて、複数の方法があることが示されています。 http://cx-freeze.readthedocs.io/en/latest/overview.html

まだ試していないので、簡単な方法が説明された投稿をポイントします。ただし、変更されているものと変更されていないものがあります。

cx_freezeを使用するにはどうすればよいですか?


11
言及する価値があるのは、cxFreezeは単一ファイルの実行可能ファイルを実行しないことです。
Eddie Hart

7

私はパッケージPySimpleGUIでNuitkaとPyInstallerを使用しています。

ヌイトカ をNuiktaでコンパイルする際に問題が発生しました。プロジェクトの貢献者の1人が、問題を修正するスクリプトを開発しました。

tkinterを使用していない場合は、「うまくいく」かもしれません。tkinterを使用している場合は、そのように言ってください。スクリプトと手順を公開します。

PyInstaller 私は3.6を実行していますが、PyInstallerはうまく機能しています!私のexeファイルを作成するために使用するコマンドは次のとおりです。

pyinstaller -wF myfile.py

-wFは単一のEXEファイルを作成します。すべてのプログラムにGUIがあり、コマンドウィンドウを表示したくないので、-wオプションはコマンドウィンドウを非表示にします。

これはどのように見えるかに近づいています、Pythonで作成されたWinformsプログラムを実行するです。

[2019年7月20日更新]

PyInstallerを使用するPySimpleGUI GUIベースのソリューションがあります。PySimpleGUIを使用します。pysimplegui-exemakerと呼ばれ、pipでインストールできます。

pip install PySimpleGUI-exemaker

インストール後に実行するには:

python -m pysimplegui-exemaker.pysimplegui-exemaker


5

これで、PyInstallerを使用して変換できます。私はPython 3でも動作します。

手順:

  1. PCを起動します
  2. コマンドプロンプトを開く
  3. コマンドを入力してください pip install pyinstaller
  4. インストールしたら、「cd」コマンドを使用して作業ディレクトリに移動します。
  5. コマンドを実行 pyinstall <filename>

なぜ人々はこれに反対票を投じているのですか?私は助けるためにこの答えを投稿しています。
Tejas Joshi

3
これは、OPが特に使用していると書いたPython 3.6では機能しないためです。
uri

Pyinstallerが動作するはずです。そうでない場合は、コメントで教えてください
Tejas Joshi
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.