解决/usr/bin/env:python:No such file or directory

在执行的程序源码开头有这么一句!#/usr/bin/env python!#这玩意叫shebang也叫hashbang。他用来指定脚本的解释器,也就是说这个程序指定python解释器。

再看这个错误提示,罪魁祸首就是这句命令,就是说在环境变量找不到python,通俗点说,假如我要能直接用python来跑这个程序,我在命令行直接输入python应该是可以进入python环境的,但是此时肯定不能。我们可以试试

dominic@hanhan:~$ python
Commond not found xxxxxxxxxxx

解决方案一

系统里没有python还跑个锤子,先装上再说

apt-get install python3

这时候可能就解决问题了

解决方案二

有的人可能python早就装了,但是仍然有这个问题,但是我们在命令输入python仍然没法用,但是输入python3就可以

python3可以,我直接将python改成python3不就完了。没错!

打开文件将!#/usr/bin/env python改成!#/usr/bin/env python3

解决方案三

如果了解软链接,那我们就可以不用去改源码了,源码最好还是保持原样。

既然找不到python这玩意,那我们给他建一个不就完了。

他要python就是用来解释程序的,我们本地装的python3就是他需要的东西

先找找我们的python3在哪

dominic@hanhan:~$ whereis python3
python3: /usr/bin/python3.8 /usr/bin/python3.8-config /usr/bin/python3 

一般在/usr/bin目录下,然后我们在这个目录下给他创建一个软链接“快捷方式”,具体咋用的啥意思,可以参考这篇文章

sudo ln -s /usr/bin/python3 /usr/bin/python

这样程序再找python时就会链接到python3,然后用python3去当解释器。

解决方案四

可能在root目录下使用过repo,将其删除

### 解决 Mac 上 Python 运行时遇到的 'No such file or directory' 错误 当在 Mac 上执行 Python 脚本并收到 `/usr/bin/env:python: No such file or directory` 的错误提示时,这通常是由于系统默认尝试调用名为 `python` 的解释器而未找到所致。尽管已经安装了 Python 版本,但可能仅作为 `python3` 安装存在。 为了修正此问题,可以采取以下措施: #### 方法一:创建符号链接 通过创建指向实际 Python 3 可执行文件的符号链接来解决问题。命令如下所示: ```shell sudo ln -s /Library/Frameworks/Python.framework/Versions/3.x/bin/python3 /usr/local/bin/python ``` 请注意将上述命令中的 `3.x` 替换为具体安装版本号[^1]。 #### 方法二:更新 Shell 配置文件 编辑 `.bash_profile` 或者对于较新 macOS 使用 `.zshrc` 文件,在其中添加一行指定 Python 3 解释器的位置: ```shell export PATH="/Library/Frameworks/Python.framework/Versions/3.x/bin:${PATH}" source ~/.bash_profile # 如果使用的是 bash shell,则重新加载配置;如果是 zsh 则 source ~/.zshrc ``` 同样需替换 `3.x` 为确切版本编号[^4]。 #### 方法三:更改脚本头部声明 如果是在特定脚本中遇到了这个问题,可以在该脚本的第一行修改 Shebang 行以直接指明要使用的 Python 版本: ```python #!/usr/bin/env python3 ``` 这种方法不需要改变系统的全局设置,只影响单个脚本的行为[^5]。 另外,针对读取文件时报错的情况,建议确认目标文件确实存在于预期位置,并且路径字符串正确无误。可以通过打印当前工作目录 (`os.getcwd()`) 来验证相对路径是否合适,必要时调整为绝对路径或变更工作目录(`os.chdir()`)[^3]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值