Mac zsh: コマンドが見つかりません: pyinstaller。【この記事を読めば十分です】

1. 問題の概要と解決策。

1) pyinstallerのバージョンの問題

次のコマンドを使用して pyinstaller をインストールすると、最新の pyinstaller がデフォルトでインストールされます。

pip install pyinstaller

ただし、python2.7 の場合は 3.6 までしかサポートされていないため、インストールする際は次の手順に従ってください。

pip install pyinstaller==3.6

2) インストール後も「コマンドが見つかりません」と表示される

理由:
pyinstaller のバイナリ実行可能ファイルが system/bin パスに見つかりません。
端子入力

echo $PATH

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin はコロンで区切られたシステム環境パスを返します。これを順番に表示して
、バイナリ ファイル pyinstaller がどのパスにも見つかりません。

解決:

2.1) macOS Catalina(10.15) システム以前。

端子入力

pip show pyinstaller

名前: PyInstaller
バージョン: 3.6
概要: PyInstaller は、Python アプリケーションとそのすべての依存関係を 1 つのパッケージにバンドルします。
ホームページ: http://www.pyinstaller.org
著者: Giovanni Bajo、Hartmut Goebel、David Vierra、David Cortesi、Martin Zibricky
著者の電子メール: [email protected]
ライセンス: 使用を許可する特別な例外を含む GPL ライセンスPyInstaller 非フリー プログラム (商用プログラムを含む) を構築および配布するための
場所:/ユーザー/alexw/ライブラリ/Python/2.7/lib/python/site-packages
必須: setuptools、altgraph、macholib、dis3
必須:

黄色でマークされた文章はコピーして後で使用します。
端子入力

sudo vi ~/.bash_profile 

esc を押してから i を押して編集モードに入ります。
ファイルに文を追加する

エクスポート PATH=${PATH}:/ユーザー/alexw/ライブラリ/Python/2.7/bin
黄色のマーク ここに、上記の黄色のマークの文を入力します。

ese を押してから wq を押してファイルを保存します。
端子入力

source .bash_profile

この時点で、このターミナル ウィンドウで pyinstaller を使用できるようになります。ただし、Mac システムが macOS Catalina (10.15) 以降の場合は、ターミナル ウィンドウを再度開くと、そのコマンドが見つからないことがわかります。

2.2) macOS Catalina (10.15) 以降では、システムに手順を追加する必要があります。

まず上記の手順をすべて実行してください。
次に端子入力

sudo vi ~/.zshrc

上記の .bash_profile の 1 行を変更する操作に従い、次の行を追加します。

ソース ~/.bash_profile

保存後、端末入力

source ~/.zshrc

新しいターミナルウィンドウを再度開き、次のように入力します

pyinstaller -v

該当する情報が表示できることが分かりました。

3) ターミナルに pyinstaller を入力するとプロンプトメッセージが表示されますが、パッケージ化時にエラーが報告されます。

pyinstaller を使用してスクリプトをパッケージ化すると、エラーが報告される

属性エラー: 'PyiModuleGraph' オブジェクトには属性 'edgeData' がありません

端子入力

pip install --upgrade altgraph

2. 理由分析

bash と zsh の違いについては、公式ドキュメントを確認してください:
https://support.apple.com/zh-cn/HT208050

複雑すぎると、私も書きたくなくなりますし、あなたも読みたくなくなります。ワン・チャイ一言で言えば、
ターミナルは pyinstaller を使用してパッケージ化します。実際には、システム環境内で pyinstaller の実行可能バイナリ ファイルを見つけるためですが、
python の環境変数は扱いが難しいことで知られているため、pyinstaller のバイナリ ファイルを見つけることはできません。すべてのシステム パスを通過した後に見つかります。
上記の手順はすべて、pyinstaller が配置されているパスをシステム パスに追加することです。

おすすめ

転載: blog.csdn.net/qq_41749924/article/details/129401943