ModuleNotFoundError: No module named “pbxproj“

项目中有个打包脚本需要用到pbxproj这个python库,这里也正常通过pip安装了pbxproj,但是实际上执行脚本的时候报了

ModuleNotFoundError: No module named 'pbxproj'

那么出现这个问题第一反应是环境变量添加错了,于是打开自己的.zshrc文件(这里我用的macOS下的iterm工具),发现环境变量都有被正常添加,且这里我在zshrc文件中配置的是3.9的环境变量,并且把python命令指向了

alias python="/usr/bin/python3"

这时候我还没有意识到我在此配置下的python跟python3命令会有什么不同,于是我在环境变量配置正常的基础上,按照着基本的moduleNotFoundError的操作去排查、尝试为什么会出现找不到pbxproj的情况,pip命令查看

pip list

是有的,版本也是正确的,试了下重新install还是不行,这个时候就去到

/Users/xxx/Library/Python

目录下查看发现有3.8、3.9两个版本,这个时候我一开始以为是包装到了3.8上,于是到对应目录下查看了,3.8及3.9都有pbxproj这个库,按道理也不会有问题,我以为可能二者有干扰,这个时候又把3.8的pbxproj删除了,结果还是不行。

最后,我在终端分别输入python及python3两条命令,发现python对应的是3.9,python3对应的是3.11,当时我很疑惑,不清楚python3.11是从哪里冒出来的(之前一直用的都是3.9,所以python、pip等环境变量跟命令都是映射到3.9的),在终端分别直接输入import pbxproj这个库时,3.9是没问题的,3.11是会报错的,看来3.11是没有安装对应的库的。因此问题算是找到了。

那么该如此操作呢?因为脚本里写的是python3命令,所以我满怀希望的把脚本改成python命令执行,这个时候又来告诉我

commond not found: python

我又觉得奇怪了,python跟python3命令在终端直接执行是没问题的,为什么这会又报not found的错误呢,顾不上那么多,直接设置一波python版本看看

ls -l /usr/local/bin/python*

找到本地安装的所以python,找到对应的3.11的路径,设置

ln -s -f /usr/local/bin/python3.11 /usr/local/bin/python

关闭重启terminal,python --version,python3 --version表现一切正常,最后脚本也正常运行了。

最后总结,还是需要管理好自己电脑上的所有的python版本,当因为某些原因升级了python之后,对应的python的默认版本也被修改,这时候就容易出现一些奇奇怪怪的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值