提问人:woozly 提问时间:4/2/2012 最后编辑:Henkewoozly 更新时间:10/14/2022 访问量:121075
“/usr/bin/python^M:糟糕的解释器” [重复]
"/usr/bin/python^M: bad interpreter" [duplicate]
问:
无法弄清楚,在 PyCharm 中在哪里更改 EOF。 我的脚本以:
#!/usr/bin/python
# -*- coding: utf-8 -*-
当我尝试像可执行文件()一样运行它时,它会输出如下内容:chmode +x
-bash: ./main.py: /usr/bin/python^M: bad interpreter: 没有这样的文件或目录
答:
问题不在于 EOF,而在于 EOL。shell 看到 ^M 以及行尾,因此试图找到 ./usr/bin/python^M
进入此状态的常用方法是使用 MSDOS/Windows 编辑器编辑 python 文件,然后在 Unix 上运行。最简单的解决方法是在文件上运行 dos2unix,或者在明确允许使用 Unix 行尾保存的编辑器中编辑文件。
评论
sudo apt-get install dos2unix
你可能想试试dos2unix <filename>
评论
将行分隔符设置为 Unix:
评论
dos2unix
你可以在这里找到答案: ./configure : /bin/sh^M : 糟糕的解释器
作为 Mac OS X 用户,我没有找到命令 .或者,我使用 vi/vim:,然后保存文件dos2unix
:set fileformat=unix
:wq
只是一个格式问题 win 和 unix:
try 命令:dos2unix fileName
再次运行后,它应该可以工作
评论
与Jiangwei Yu的帖子类似。在 UNIX/Linux 上,我使用 vi 来编辑 Python 文件。使用 vi,您可以在每行的末尾看到 ^M。
找到以下行/usr/bin/python^M
点击到达线路的尽头end
点击删除 ^Mdelete
要保存文件并退出,请键入::wq
这对我有用。
安装 dos2unix: sudo apt-get install dos2unix
让它发挥魔力:dos2unix 文件名
对于 MacOS,您可以通过 Homebrew 安装它,如下所示:
brew install dos2unix
接下来做
dos2unix FILENAME
如果您使用的是 Vim,只需输入以下命令:
:set fileformat=unix
您可以尝试这样做:
sed --in-place 's/^M//g' main.py
[ 键入 ^M,按 ctrl+v,ctrl+m ]
评论
^M