无法弄清楚,在PyCharm中改变EOF的位置。 我的脚本以:
开头#!/usr/bin/python
# -*- coding: utf-8 -*-
输出类似这样的内容,当我尝试像可执行文件(chmode + x)一样运行它时:
-bash:./ main.py:/ usr / bin / python ^ M:错误的解释器:没有这样的文件或目录
该做什么以及如何成为?
答案 0 :(得分:38)
问题不是EOF而是EOL。 shell看到^ M以及行尾,因此尝试查找/usr/bin/python^M
。
进入此状态的常用方法是使用MSDOS / Windows编辑器编辑python文件,然后在Unix上运行。最简单的解决方法是在文件上运行dos2unix或在编辑器中编辑文件,该编辑器明确允许使用Unix行结束保存。
答案 1 :(得分:30)
将行分隔符设置为 Unix :
答案 2 :(得分:20)
您可以在此处找到答案:./configure : /bin/sh^M : bad interpreter
作为Mac OS X用户,我找不到命令dos2unix
。或者,我使用vi / vim::set fileformat=unix
然后保存文件:wq
答案 3 :(得分:11)
您可能想尝试dos2unix <filename>
答案 4 :(得分:11)
如果您使用的是Vim,只需输入以下命令:
:set fileformat=unix
答案 5 :(得分:7)
安装dos2unix: sudo apt-get install dos2unix
让它做魔术: dos2unix FILENAME
答案 6 :(得分:3)
答案 7 :(得分:2)
类似于姜伟伟的帖子。在UNIX / Linux上,我使用vi编辑Python文件。使用vi,您可以在每行的末尾看到^ M.
找到以下行/usr/bin/python^M
点击end
以到达行尾
点击delete
删除^ M
要保存文件并退出,请输入::wq
这对我有用。
答案 8 :(得分:1)
您可以尝试这样做:
afzuigkappen -> afzuigkapp
afzuigkap -> afzuigkap
[键入^ M,按ctrl + v,ctrl + m]
答案 9 :(得分:0)
win和unix之间的格式问题:
尝试命令:dos2unix fileName
再次运行后,它应该可以正常工作