Dropbox

++++++++++
この記事の内容は古すぎます。(2024/03/28)
現在のおすすめは「【Pyinstaller】MacOS用、Windows用のexeをそれぞれ作成する失敗しない方法」です。
++++++++++

MacとWindows環境の両方で動く小さなツールを作ろうと思いました。作りたいのはCUIベースのもので簡単なファイル操作を行い結果を標準出陸出来れば良いだけです。最悪、メインのロジックだけでも共通化出来れば良いくらいに考えていました。WindowsにActivePerlとかStrawberryPerlを入れてしまえば解決と言えないこともないのですが、もともとPerl実行環境が入っていないWindowsにもツールを提供する方法を模索していました。

色々と巡り巡って(というほどでは無いですが)、結局Perlに戻ってきました。Windows環境でPerlスクリプトをexe化すればPerl実行環境をインストールすることなく作成したツールを実行出来ます。

参考ページ: Strawberry Perl(Portable)でPerlスクリプトのexeファイル化

まったく参考ページ、そのままなので追加する情報もありません。わたしが実際にしようしたバージョン等についてだけ書いておきます。

Windows : 日本語版Windows 7 Ultimate 64bit
Perl : Strawberry Perl Portable version 5.24.0.1 64bit PortableZIP edition + extra PDL related libs

Windows上の適当な場所にダウンロードしたzipファイルを展開します。Portable版なのでインストール作業を行うことなくPerlが使用できます。展開した中にあるportableshell.batを実行するとPerlが使用できるコマンドプロンプトが開きます。以下、そのコマンドプロンプトでの実行になります。

以下のコマンドを実行してcpanからPackerモジュールを導入します。参考ページでは–forceオプションを指定してましたが、わたしの実行環境では普通に導入出来ました。

cpanm PAR::Packer

後は以下のようにして目的のPerlスクリプトをexe化します。

pp -o test.exe test.pl

‘Use Archive::Tar’などモジュールが含まれたものも問題なくexe化が可能でした。

参考ページにオプションの説明があります。そこにも書かれていますが、実行の際にライブラリやスクリプトそのものはC:\Users\xxx\AppData\Local\Temp\par-*に展開されます。削除はされません。

Trackback

no comment untill now

Add your comment now