どうも、ちゃんかま(@chan_kama0244)でございます。
あなたはもしかして、Pythonのスクレイピング副業の初心者さんではありませんか? それなら、「完成したコードをexe化して納品したいけど、やり方が分からない!」と悩んでいませんか?
実は、Pythonコードをexe化するなら、【PyInstaller】がおすすめです。なぜなら、PyInstallerを使うと、簡単なコマンド実行だけでexe化ができるからです。特に、Pythonのスクレイピング副業の納品時に、PyInstallerは必須です。
私は、Pythonのスクレイピング副業で、コードをexe化して納品しています。PyInstallerで簡単にexe化できるので、いつもスムーズに納品できています。
この記事では、exe化が簡単にできる、PyInstallerについて解説しています。この記事を読むと、スクレイピング副業で、コードをexe化して納品するまでの方法が分かります。
exe化とは?
exeとは、実行ファイルのことです。Pythonコードを実行ファイルに変換することを、exe化と呼びます。
例えば、【sample.py】をexe化すると、【sample.exe】になります。sample.pyを実行するには、Pythonのインストールが必要です。一方で、sample.exeは実行ファイルなので、Pythonのインストールが必要ありません。ダブルクリックするだけで、実行ができます。
exe化が必要な理由
Pythonのスクレイピング副業をやるなら、exe化は必須のスキルです。なぜなら、スクレイピング案件はexeで納品するからです。例えば、exeで納品しない場合は、購入者さまにPythonをインストールしてもらう必要があります。購入者さまにしてみると面倒ですし、スムーズな納品ができません。
一方で、exeで納品すると、Pythonのインストールは必要ありません。納品されたexeファイルをダブルクリックするだけで、スクレイピングを実行できます。購入者さまとしては楽ですし、スムーズに納品ができるのです。
PyInstallerでexe化する手順
Pythonコードのexe化は、【PyInstaller】を使うと簡単にできます。ここでは、PyInstallerを使ったexe化の方法について解説します。実際に、【sample.ipynb】というJupyterLabのノートブックをexe化してみます。
pyファイルの作成
PyInstallerは、pyファイルをexeファイルに変換します。そのため、まずはJupyterLabのノートブックを、pyファイルに変換する必要があります。そこで、ここでは、JupyterLabのノートブックをpyファイルに変換する方法について解説します。
実際に、sample.ipynbというノートブックを、【sample.py】に変換してみます。始めに、JupyterLabでsample.ipynbを開きます。

次に、【File】→【Save and Export Notebook As…】→【Executable Script】をクリックします。

すると、sample.pyがダウンロードされます。Windowsのエクスプローラーの、ダウンロードフォルダを確認します。ダウンロードフォルダ内に、sample.pyがあるはずです。

ダウンロードされたsample.pyは、sample.ipynbと同じフォルダに移動しておきます。

ディレクトリの変更
PyInstallerは、WindowsのPowerShellでコマンドを実行して使用します。そして、PyInstallerを実行する前に、PowerShellでディレクトリを変更する必要があります。そこで、ここでは、PowerShellでディレクトリを変更する方法について解説します。
始めに、以下の方法でPowerShellを起動します。
Windowsボタン(Windowsのロゴマーク)をクリックします(画像①)。
次に、検索窓に【powershell】と入力します(画像②)。
ここで表示されるのが、【Windows PowerShell】です。開くをクリックして起動します(画像③)。

PowerShellを起動すると、このような画面になります。

次に、PowerShellのディレクトリを、sample.pyがあるディレクトリに変更します。ちなみに、ディレクトリは、フォルダと同じ意味だと思えば良いです。
sample.pyは【スクレイピング】というフォルダにあります。このスクレイピングのフォルダのパスを取得します。
Windowsのエクスプローラーで、スクレイピングのフォルダを右クリックします(画像①)。
右クリックメニューの中の、【アドレスのコピー】をクリックします(画像②)。

PowerShellに以下のコマンドを入力し、エンターキーで実行します。【スクレイピングのフォルダのパス】には、先程のアドレスのコピーで取得したパスをそのまま貼り付けます。
cd 【スクレイピングのフォルダのパス】

実行すると、PowerShellのディレクトリが、スクレイピングに変更されます。

【C:\Users\◯◯◯>】から【C:\Users\◯◯◯\◯◯◯\Programming\スクレイピング>】に変更されています。
PyInstallerの実行
ここでは、PyInstallerを実行して、pyファイルをexe化する方法について解説します。まず始めに、PyInstallerをインストールします。PowerShellで以下のコマンドを実行します。
pip install pyinstaller

インストールが終わると、以下のような画面になります。【Successfully】と【pyinstaller】が表示されていれば、インストールは正常に完了しています。

次に、PyInstallerを実行して、sample.pyをexe化します。PowerShellで以下のコマンドを実行します。
pyinstaller sample.py --onefile

【completed successfully】と表示されると、exe化は正常に完了しています。

exe化が完了すると、以下のフォルダ及びファイルが新たに作成されます。Windowsのエクスプローラーを確認してみます。
- buildフォルダ
- distフォルダ(exeファイルが入っている)
- specファイル

exeファイルは、distフォルダの中に入っています。distフォルダの中身を見ると、sample.exeが入っていることが分かります。

sample.exeは、distフォルダから出しておきましょう。また、exeファイルを手に入れたら、buildフォルダ・distフォルダ・specファイルは削除して構いません。

これで、PyInstallerによるexe化は完了です。最初は手順が多く感じられるかもしれませんね。しかし、慣れてくると10分程度でexe化が完了します。ここで解説したとおりにコマンドを実行するだけなので、Python初心者におすすめの方法です。
exeをココナラで納品する手順
ここでは、Pythonのスクレイピング副業で、実際にexeを納品する手順を解説します。私が使っているクラウドソーシングサイト、【ココナラ】での納品手順を解説します。
ちなみに、Python初心者がスクレイピング副業をやるなら、ココナラがおすすめです。ココナラの会員登録は無料なので、興味があるなら、以下のリンクからどうぞ。
exeをZIPファイルに圧縮
実は、ココナラではexeファイルを添付して送ることができません。ココナラで添付可能なファイル形式は、こちらで確認できます。確認すると、添付可能なファイル形式に、exeが含まれていないことが分かります。そのため、ココナラでは、exeをZIPファイルに圧縮してから購入者さまに納品します。
exeをZIPファイルに圧縮するのは、Windowsのエクスプローラーで行います。
exeファイルを右クリックし、メニューを表示します(画像①)。
メニュー内の【ZIPファイルに圧縮する】をクリックします(画像②)。

すると、exeがZIPファイルに圧縮されます。

ココナラにZIPファイルを添付して納品
ココナラでZIPファイルを添付して、購入者さまに納品します。
クリップのアイコンをクリックして、sample.zipを選択します(画像①)。
すると、sample.zipが添付できます(画像②)。
あとは、送信ボタンを押すと納品が完了します。

ZIPファイルは、【すべて展開】を行わないと実行ができません。そのため、購入者さまにすべて展開をお願いするメッセージを送っておくと親切ですね。

exe化の注意点
ここでは、Pythonのスクレイピングコードをexe化するときの注意点を解説します。exe化の注意点を理解することで、スクレイピング副業でスムーズに納品ができるようになります。
不要なライブラリはインストールしない
PyInstallerは、インストールしたPythonライブラリを、すべてexeに含めます。つまり、インストールしたライブラリが多いほど、exeの容量は大きくなります。特に、Pythonライブラリの【Pandas】は、容量が大きいので要注意です。実際に、以下の画像で確認してみましょう。
こちらは、どちらも同じ動作をするスクレイピングのexeファイルです。しかし、Pandasをインストールしているexeのほうが、容量が桁違いに大きいことが分かります。

exeの容量が大きすぎると、納品時にココナラの添付ファイルでは送れなくなります。また、実行時も動作が重く、非常に使い勝手が悪くなります。Pandasに限らず、スクレイピングに不要なライブラリは、極力インストールしないようにしましょう。
購入者さまのOSを確認する
PyInstallerで作成したexeは、作成したOSと同じOSでしか実行ができません。つまり、Windowsで作成したexeは、Windowsでしか実行できません。同じように、Macで作成したexeは、Macでしか実行できません。

PyInstallerで作成したexeは、作成したOSと異なるOSでは実行ができないのです。

そのため、スクレイピングの副業案件を受ける前に、必ず購入者さまのOSを確認しましょう。
まとめ
PyInstallerを使うことで、Pythonのスクレイピングコードを簡単にexe化できます。この記事で解説した手順どおりにコマンドを実行するだけなので、初心者にもおすすめの方法です。
補足として、実は、ライブラリによってexeの容量が大きくなる問題を解決できる方法があります。それは、【仮想環境】を使うことです。ただし、仮想環境の話はちょっと難しいので、この記事では解説しませんでした。仮想環境は、Pythonに慣れてきたら使ってみるのをおすすめします。
また、exe化は、Pythonのスクレイピング副業に必須のスキルです。つまり、exe化ができると、Pythonのスクレイピング副業で稼ぐことができます。もしも、Pythonのスクレイピング副業に興味があるなら、こちらの記事も読んでみてください。
また、スクレイピングに関するエラーや疑問があれば、私のココナラのサービスをご利用ください。興味がある場合は、以下のリンクからどうぞ。
3日間の質問無制限|スクレイピングの疑問に答えます
こちらのサービスでは、Pythonの初心者向けに、スクレイピングに関する質問にお答えしています。スクレイピングのエラー解決や、コードの書き方などについても丁寧に解説します。相談は無料なので、スクレイピングに関する疑問があれば、遠慮なくメッセージを送ってください。
ココナラの会員登録がまだお済みでなければ、以下のリンクから無料で登録できます。
この記事があなたの参考になれば幸いです。
以上、ちゃんかま(@chan_kama0244)でした。
コメント