0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PyInstaller と Pyarmor の基本的な使い方

Last updated at Posted at 2021-12-14

Pyinstaller と Pyarmor

Pythonを使ってGUIツールを作成したり、コードをexe化して配布する際のツールとして、Pyinstaller と Pyarmor があります。
Pyinstallerは python コードを windows なら exe file に、mac ならapp file にします。Pyarmor は製品化する際に、コードの中身が知られたくない場合に難読化してからexe化します。

今回仕事で使用する機会があったので個人的な覚書とともに共有させていただきます。

両方ともにCross Platform ではない

Pyinstaller, Pyarmor ともにcross platform ではないです。そのため、Windows、Mac、Linux それぞれで exe化、app化しなければいけません。 その際 OSのversionを一致させる (Big Surでapp化したものを、Catalinaで起動できませんでした) ことも重要です。

(Fastapiのフレームワークを使用している場合は pip install websocket==8.1 が必要でした。uvicornを使用している影響?)

環境によるコマンドの違い

flask
  ┝ __init__.py
  └ app.py

簡単ですが、上のようなFlaskアプリを想定します。

  • Local 環境にpython やpythol library をinstall している場合

    1. Pyinstaller を使用
      • /flask 配下 で pyinstaller app.py
    2. pyarmor を使用
      • /flask 配下で、pyarmor pack -e " --onefile" app.py
  • Poetry環境下でPython, python library をinstall している場合

    1. Pyinstaller を使用
      • pyinstaller app.py
    2. Pyarmor を使用する際
      • pyarmor pack -e " --onefile" -x " --exclude venv --no-cross-protection" app.py にてexe, app
        化します。.venv file をexclude しなければいけないようです。

Pyarmor のライセンス

商用利用にはライセンス購入が必要です。
1回買いきりで7000円程度です。一つ買えば複数に使うことができる??

PyArmor -license

Pyarmorに関しては情報が少なく、特にpoetry 環境下でのBuild の方法がわからずに苦労しました!
どなたかの参考になりますと幸いです!

参考記事

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?