Pythonスクリプトから実行可能ファイルを作成する(Windows&Ubuntu-WSL)

Python

概要

Pythonコードから実行可能形式(.exeもしくはLinuxバイナリ)を作成するためには、
PythonインタプリタとPyInstallerというプラグインが必要。

バイナリ化することで、PythonインタプリタがないPCで実行したり、
実行速度を(少しばかり)向上させることができる。

注意点

  • クロスコンパイルはできない。WindowsならWindows、LinuxならLinuxの実行可能形式が出力される。
  • Pythonのビットバージョンは、完成したプログラムを実行するPCに合わせる。
  • 32bitのOSで64bitの実行可能ファイルは作れない。逆は可能。
  • 2019年2月時点では、pipのバージョン19以上ではPyInstallerのインストールに失敗する
    pip バージョン18.1を使用しなければならない。19が入っている場合は、

    python -m pip install pip==18.1

    を実行してダウングレードする。

手順

一応、Pythonのインストール手順も書いてあるが、
適宜読み飛ばすこと。

1.Pythonのインストール

Windows

  1. インストーラをダウンロード
    https://www.python.org/downloads/windows/
    このURLから、自分のWindowsのbit数に合わせてダウンロードする。
    *開発対象のサーバ等にインストールされているPythonのバージョンに合わせて
    ダウンロードするバージョンを変る。
    (Python2、Python3ではそれぞれ互換性に問題がある。https://qiita.com/ty21ky/items/e5ce2fd04c2ef07955a1
  2. Pythonのインストール
    1. PATHに追加するようにしてインストール
    2. Close
    3. 確認
      PowerShellもしくはコマンドプロンプトを開き、

      python –version

      と入力する。

      Python x.x.x

      と表示されればPATHも通っていて成功している。

Ubuntu-WSL

Ubuntuでのインストール手順と変わらない。

  1. $ sudo apt update
  2. $ sudo apt upgrade
  3. $ sudo apt install -y python3 #pythonとするとpython2がインストールされる

2. エディタのインストール

Windowsでは、Pythonを得意とするエディタが存在するので
折角であれば入れておきたい。

最近はAtomが人気なようですが、まだ不安定性は残っているようなので
個人的にVisual Studio Code(VS Code)を入れました。

VS Codeを選んだ理由として、PlantUMLの静的コード解析プラグインと
自動実行機能を有していたのが大きいです。
プログラムの設計からスクリプトコーディングまで、これ一本で完了です。

もちろん、コンソールや実行結果画面もあるのでデバッグにも最適です。

インストール方法は、こちら

3. pipのインストールと確認

pipとは

Windows

Windowsでは、pythonインストール時点で既にpipもインストールされている。
2019年2月時点で、バージョン19.1にバグが存在するため18.1であることを確認

  • PowerShwll, cmd, VS Codeのコンソールウィンドウのいずれかで、下記コマンドを実行

python -m pip install pip

これでバージョン情報が帰ってくればOK。

pip 18.1 from C:\Users\hoge\AppData\Local\Programs\Python\Python37\lib\site-packages\pip (python 3.7)

Ubuntu-WSL

  1. インストール

    $ sudo apt install python3-pip #python-pipとするとpython2用のpipが入る。

  2. 確認

    $ pip3 -V #pip -Vとするとpython2用のpipが呼ばれる。

4. PyInstallerのインストール

Windows

  • シェル上で、

    python -m pip install PyInstaller

    を実行。

  • コーヒーでも飲みながら少し待つ。
  • 以下が表示されれば完了

    Successfully installed PyInstaller-x.x …

Ubuntu-WSL

  • シェル上で、

    $ pip3 install PyInstaller #pip install PyInstallerだと(略

    を実行。

  • 以下が表示されれば完了

    Successfully installed PyInstaller-x.x …

5. PyInstallerの実行

Windows

  1. pythonスクリプトフォルダがあるディレクトリでシェルを開く。
  2. 以下のコマンドを実行
    python -m PyInstaller –onefile myscript,py
    –onefileというオプションを付けないと.exeアーカイブが生成されない。
  3. 完了すると、作業フォルダにdistとbuildというフォルダができている。
  4. distの中に.exeファイルができていれば完成である。

Ubuntu-WSL

  • Windowsと同様であるが出力ファイル形式は、Linuxバイナリである。

コメント

Japanese
タイトルとURLをコピーしました