在Linux中运行Python脚本

我试图在Ubuntu上运行一个shebang的Python脚本。 当我创build一个Python脚本

#! /usr/bin/env python import sys 

…并运行它我得到一个shell错误:

  root@host:/home/user# ./test.py : No such file or directory 

我怎样才能使它工作?

解决scheme :使用dos2unix从行尾删除'\ r'。

我假设脚本是可执行的? 另外,检查回车 – 也许窗户上有它的肮脏的小手? 你可以用'cat -vE test.py'来查看,并查找'\ r'。

您的文件上可能有窗口行结束符。 请尝试在其上运行dos2unix

尝试删除#之间的空间! 和/ usr / bin / env,虽然我不明白为什么不能在不导入软件包时工作…

确定这个错误是因为你想的吗? 还是你(在脚本后面)试图打开一个文件? 从最简单的情况开始,让事情工作…

hello.py:

 #!/usr/bin/env python print "Hello, world" 

然后…

 $ chmod +x hello.py $ ./hello.py Hello, world $ 

使用下面的一个衬垫删除新的行字符。

perl -e's / \ r // g'-w -p -i test.py

要么

sed -e“s / ^ M //”test.py> test_new.py