我无法从终端运行这个 Python 文件。
我已经添加了以下内容:
#!/usr/bin/env python
在文件的开头。
我做错了什么吗?如何从终端运行此文件?
编辑:https://i.stack.imgur.com/HfOdn.jpg我想,这可能会有帮助。
答案1
下面的截图显示了问题:^M
在shebang行中,python后面有一个不可见的字符。这可能是在非 Unix 机器上编辑了该文件(通常是 Windows);因此解释器所寻找的 ispython^M
没有被找到。
如果您没有在外星操作系统上编辑过此文件,那么可能是您的编辑器的行尾设置有问题。无论如何,在正常的编辑器中重写 shebang 行应该可以解决这个问题。
答案2
您的文件有Windows 行尾,哪些 unix shell不喜欢。
只需使用 将它们转换为 Unix 文件结尾dos2unix aaa.py
(您可能需要安装dos2unix
,这是一个非常小巧 [200kB] 但很有用的软件)就可以了。
不同的行尾表示是“奇怪”问题的常见来源。您可以使用以下命令检查行尾,看看是否显示以下内容:file <yourfile>
<yourfile>: ASCII text, with CRLF line terminators
这意味着它有 Windows 行尾,你应该将它们转换为 unix,使用dos2unix
vim 命令:set ff=unix
或您最喜欢的文本编辑器(如果它具有该功能)(很多都有)。