“:没有这样的文件或目录”

2024-09-29 04:24:20 发布

您现在位置:Python中文网/ 问答频道 /正文

乌班图版本:12.04 Python版本:2.7.3在

我有剧本(对虾.py)开始是:

#! /usr/bin/env python
from random import choice
import os
from webbrowser import open_new
import urllib
print("!")
def getsource(url): page=urllib.urlopen(url);sourcecodey=page.read();page.close;return sourcecodey
#etc

当我在终端运行时:

^{pr2}$

当我把第一行改成#!/usr/bin/python

$ which python
/usr/bin/python
$ ./prawn.py
bash: ./prawn.py: /usr/bin/python^M: bad interpreter: No such file or directory

但是当我使用“python”运行它时对虾.py“,它起作用了。在

我怎么解决这个问题?在


Tags: frompyimport版本envurlbinusr
3条回答

您的shebang行中似乎有一个^M,删除第一行的所有内容,然后手动重新键入(#!/usr/bin/env python)。在

本质上是相同的错误:shebang行以回车符\r/^M结尾。env打印输出(它打印python,它执行回车并在: No such file or directory行的开头打印。在

如果直接调用python,则找不到python^M。在

对于这两种情况,请删除这个额外的字符;一旦您使其工作,带有env的版本会更好。在

^M表示您正在使用DOS行结尾。改用UNIX行尾。您可以尝试使用sed将文件从DOS行结尾转换为UNIX行结尾:

sed -E 's/\'$'\r''$//' < prawn.py > prawn.unix.py

转换后的文件将位于prawn.unix.py。在

相关问题 更多 >