gpt4 book ai didi

python-3.x - 脚本找不到 Python3

转载 作者:行者123 更新时间:2023-12-04 04:16:59 25 4
gpt4 key购买 nike

我正在尝试学习一些 Python3,因此,首先要做的是:Hello World。但尽管如此简单,我在第 1 行(Shebang 引用)上遇到了一段糟糕的时光。我在运行 Mac Os 10.15.3 的笔记本电脑上创建了以下脚本

#!/usr/bin/env python3
print('Hello World')

我将它保存为 python_test-01.py,使脚本可执行,然后尝试运行它

Emonda:Scripts paul$ chmod 755 python_test-01.py 
Emonda:Scripts paul$ ls -l

-rwxr-xr-x@ 1 paul staff 47 Mar 5 13:07 python_test-01.py

Emonda:Scripts paul$ ./python_test-01.py
./python_test-01.py: line 1: #!/usr/bin/env: No such file or directory
./python_test-01.py: line 2: syntax error near unexpected token `'Hello World''
./python_test-01.py: line 2: `print('Hello World')'

嗯。找不到环境。好的,我将在 shebang 行中使用直接路径而不是 env。我编辑脚本阅读

#!/usr/bin/python3
print('Hello World')

并运行它

Emonda:Scripts paul$ ./python_test-01.py 
./python_test-01.py: line 1: #!/usr/bin/python3: No such file or directory
./python_test-01.py: line 2: syntax error near unexpected token `'Hello World''
./python_test-01.py: line 2: `print('Hello World')'

现在它也找不到Python3。所以我环顾四周以确保我确实安装了 env 和 python3 以及它们的位置。

Emonda:Scripts paul$ cd /usr/bin/
Emonda:bin paul$ pwd
/usr/bin
Emonda:bin paul$ whereis env
/usr/bin/env
Emonda:bin paul$ whereis python3
/usr/bin/python3

是的,它们就在那里,就在我说它们在 Shebang 系列中的位置。/usr/bin/

第二章

在一次又一次地踢这个之后,我决定尝试一些不同的东西。我通过 ssh 连接到运行 Debian GNU/Linux 的 Raspberry Pi。我注意到它的/usr/bin/目录中也安装了一个 Python3 版本。我使用 vim 编写相同的两行脚本,以相同的 shebang 开头:#!/usr/bin/python3。 Chmod 755.“ Hello World ”。第一次尝试就成功了。

这两个系统有什么不同?在 Raspberry Pi 中一切都按预期工作。 Mac 怎么了?我应该在 mac 上的什么地方查找解释器找不到 Python3 的原因?

感谢老爷子陪我一起,保罗

最佳答案

在所有这一切以及您的所有重要输入之后,事实证明 MacOs 系统上的脚本文件是用带 BOM 的 UTF-8 格式保存的。这足以让口译员难以辨认脚本的第一行 Shebang。将文件保存为 UTF-8 无 BOM 编码后,它按预期工作。

关于python-3.x - 脚本找不到 Python3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60552642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com