美文网首页
Mac安装python3,通过终端直接运行.py文件报错bad

Mac安装python3,通过终端直接运行.py文件报错bad

作者: wanannaturalcur | 来源:发表于2017-12-28 21:59 被阅读0次

事出mac系统自带的python是2.7版本的,但是我又希望使用新版的python3进行编程,于是我按照网上的教程安装了python3,但是装完之后我发现我无法使用终端直接运行.py文件。报错bad interpreter: Operation not permitted,折腾了一晚也没找到解决方案(好在今晚解决了。。。)将解决过程贴出来给大家参考一下。
解决过程如下:

我的python3是后来安装的,并没有安装在/usr/bin目录下所以不能通过
#!/usr/bin/env python3来获取python3的运行环境。先确认是不是运行环境错误导致的报错。
终端输入
which python3
显示
/usr/local/bin/python3
将shebang写成绝对路径
#!/usr/local/bin/python3
在终端通过./filename.py的方式运行发现还是报bad interpreter: Operation not permitted,但是这个shebang的写法是没问题的,原因可能是别的。

这时候我发现我的.py文件的图标好像有点问题 屏幕快照 2017-12-28 下午9.12.33.png

它的默认打开方式是xcode。

在终端输入指令查看这个文件的拓展属性
xattr -l test.py

屏幕快照 2017-12-28 下午9.21.10.png
发现com.apple.quarantine后面有一串长长的数,这个就是导致bad interpreter: Operation not permitted的原因,不同的打开方式会给文件加入不同的拓展属性,这个拓展属性会导致python的解释器解释失败。

解决方案

将.py文件的默认打开方式改成Python Launcher 3,双击test.py文件发现运行成功。证明shebang和代码都没有问题。然后再测试通过终端./test.py运行有没有问题。结果依旧报错bad interpreter: Operation not permitted,基本确定了是文件的拓展属性导致的解释错误。
使用指令删除这个文件的拓展属性
xattr -d com.apple.quarantine ./test.py
测试一下
./test.py
运行成功

感谢波哥大晚上帮我解决问题带我出坑,今晚能睡个好觉了!!! 5189D17CBE4225B3B08114D5A4185F4F.png

相关文章

网友评论

      本文标题:Mac安装python3,通过终端直接运行.py文件报错bad

      本文链接:https://www.haomeiwen.com/subject/csxbgxtx.html