Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

Lubuntu Raring Ringtail. I want to be able to execute my scripts with ./

I start my python script with #!/usr/bin/python and it says

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

If I use #!/usr/bin/env python it gives a similar error:

: No such file or directory

What am I doing wrong?

I absolutely have python installed, and can run the scripts as normal with python myscript.py

share|improve this question
1  
Have you taken a look at this question: stackoverflow.com/questions/9975011/… ? –  Alvin Row Aug 16 '13 at 4:27

1 Answer 1

up vote 5 down vote accepted

From the ^M you can see that the file myscript.py is using windows/dos-style line breaks (Windows uses CR LF (carriage return + line feed) at the end of a line. Unix only uses LF - so what you see as ^M is the CR. So what you are not using /usr/bin/python but /usr/bin/python<CR> that does not exist.

You can remove the ^M using dos2unix (do a sudo apt-get install dos2unix to install and then use dos2unix myscript.py).

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.