Mac zsh: command not found: pyinstaller。[看这一篇就够了]

本文详细介绍了在Mac系统,尤其是zsh环境下遇到`pyinstaller: command not found`错误时的解决方法,包括针对不同macOS版本的解决方案,以及针对打包时报错的处理。主要解决思路是更新环境变量,确保能找到pyinstaller的二进制文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、问题总结与解决方法。

1) pyinstaller版本问题

如果使用下面命令安装pyinstaller,默认将安装最新的pyinstaller。

pip install pyinstaller

但对于python2.7,最高只支持3.6,所以安装时使用 下面指令。

pip install pyinstaller==3.6

2) 安装后仍然显示command not found

原因:
在系统/bin路径下找不到pyinstaller的二进制可执行文件。
终端输入

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

Name: PyInstaller
Version: 3.6
Summary: PyInstaller bundles a Python application and all its dependencies into a single package.
Home-page: http://www.pyinstaller.org
Author: Giovanni Bajo, Hartmut Goebel, David Vierra, David Cortesi, Martin Zibricky
Author-email: pyinstaller@googlegroups.com
License: GPL license with a special exception which allows to use PyInstaller to build and distribute non-free programs (including commercial ones)
Location: /Users/alexw/Library/Python/2.7/lib/python/site-packages
Requires: setuptools, altgraph, macholib, dis3
Required-by:

标黄那一句复制下来,待会要用。
终端输入

sudo vi ~/.bash_profile 

按下esc,再按i,就可以进入编辑模式。
在文件中加入一句话

export PATH=${PATH}:/Users/alexw/Library/Python/2.7/bin
标黄这里填入上面标黄那一句。

按下ese,再按wq,就可以保存这个文件。
终端输入

source .bash_profile

至此,在这一个终端窗口就可以使用pyinstaller了。但是如果你的mac系统是macOS Catalina(10.15)以后,那重新打开一个终端窗口,你会发现还是command not found.

2.2) macOS Catalina(10.15) 之后系统需要添加的步骤。

首先做完上面所有步骤。
然后终端输入

sudo vi ~/.zshrc

跟上面修改.bash_profile一行的操作,添加一行:

source ~/.bash_profile

保存以后,终端输入

source ~/.zshrc

再次打开新的终端窗口,输入

pyinstaller -v

发现已经可以显示对应信息。

3) 终端输入pyinstaller后有提示信息,但打包时报错

使用pyinstaller打包脚本时,报错

AttributeError: ‘PyiModuleGraph’ object has no attribute ‘edgeData’

终端输入

pip install --upgrade altgraph

二、原因分析

关于bash和zsh的差异,查看官方文档:
https://support.apple.com/zh-cn/HT208050

太复杂的话,我不想写,你们也不想看。旺柴一句话带过 :
终端使用pyinstaller打包,其实就是去系统环境下寻找pyinstaller这个可执行二进制文件
但是python的环境变量是众所周知的难搞,导致遍历所有系统路径都找不到pyinstaller这个二进制文件。
上述所有步骤,都是在把pyinstaller所在的路径,添加到系统路径下面。

### 解决 ZSH 中找不到 `pyinstaller` 命令的问题 当遇到 `zsh: command not found: pyinstaller` 的错误提示时,通常是因为系统的 PATH 环境变量未正确配置或 Python 虚拟环境中缺少该工具。为了确保可以在 PyCharm 环境中顺利调用 `pyinstaller`,建议按照以下方法排查并解决问题。 #### 验证安装状态 确认 `pyinstaller` 是否已经成功安装于当前使用的 Python 环境下。可以通过执行如下命令来查找已安装位置: ```bash find / -name "pyinstaller" 2>/dev/null ``` 如果上述指令返回为空,则说明尚未完成安装过程[^2]。 #### 安装缺失包 对于基于 pip 的项目依赖管理方式来说,可以直接利用 pip 工具来进行安装操作: ```bash pip install pyinstaller --user ``` 这条语句会把软件包放置到用户的本地目录内而不是全局路径上;这样做可以避免权限不足带来的麻烦同时也减少了对其他项目的干扰风险。 #### 更新 shell profile 文件 为了让新加入的可执行文件能被 Shell 认识到,可能还需要更新个人的 `.zshrc` 或者相应的启动脚本文件。编辑器打开此文档并向其中追加一行用于指定额外的二进制存放地址: ```bash export PATH=$PATH:$HOME/.local/bin source ~/.zshrc ``` 这一步骤使得每次开启新的终端窗口都会自动加载最新的环境设置信息[^1]。 #### 使用虚拟环境 考虑到不同版本间的兼容性和隔离性需求,在实际开发过程中推荐创建独立的工作空间以便更好地控制所涉及的各种库及其对应的迭代情况。具体做法是在目标工程根部建立专属 venv 并激活它之后再重复前面提到过的几步动作即可。 ```python import sys print(sys.executable) ``` 通过这段简单的测试程序可以帮助验证现在处于哪个解释器之下工作以及其关联的位置是否包含了所需的组件集合。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值