PyCharm。 / usr / bin / python ^ M:糟糕的解释器

无法弄清楚,在PyCharm中更改EOF的位置。 我的脚本开始于:

#!/usr/bin/python # -*- coding: utf-8 -*- 

当我尝试像可执行文件(chmode + x)一样运行时,输出如下所示的内容:

-bash:./main.py:/ usr / bin / python ^ M:错误的解释器:没有这样的文件或目录

该怎么做,怎么做?

将行分隔符设置为Unix

Unix的

问题不是EOF,而是EOL。 shell看到一个^ M以及行尾,因此试图find/usr/bin/python^M

进入这种状态的通常方法是用MSDOS / Windows编辑器编辑python文件,然后在Unix上运行。 最简单的解决方法是在文件上运行dos2unix,或者在一个编辑器中编辑文件,该编辑器明确允许用Unix结束行保存。

你可以在这里find答案: ./configure:/ bin / sh ^ M:糟糕的解释器

作为Mac OS X用户,我没有find命令dos2unix 。 或者,我使用vi / vim :: :set fileformat=unix然后保存文件:wq

你可能想尝试dos2unix <filename>

安装dos2unix: sudo apt-get install dos2unix

并让它做到这一点: dos2unix FILENAME

如果您使用Vim,只需input以下命令:

 :set fileformat=unix 

对于MacOS,你可以像这样通过Homebrew安装它:

 brew install dos2unix 

接下来呢

 dos2unix FILENAME 

类似于江伟宇的职位。 在UNIX / Linux上,我使用vi来编辑Python文件。 使用vi,你可以在每行的结尾看到^ M。

find下面一行/usr/bin/python^M

命中end以达到线的末尾

点击delete删除^ M

要保存文件并退出,请input:wq

这对我有效。

你可以尝试这样做:

 sed --in-place 's/^M//g' main.py 

[input^ M,按ctrl + v,ctrl + m]

只是一个格式问题赢得和unix之间:

尝试命令:dos2unix fileName

再次运行后,它应该工作