Executing script from shell problem
Solution 1
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
).
Solution 2
Do this, then try your Python script:
$ tr -d '\r' < test.py > newtest.py
This removes the carriage returns created from Windows
To further reading, Remove Windows carriage returns with tr
Related videos on Youtube
Anonymous Entity
Updated on September 18, 2022Comments
-
Anonymous Entity over 1 year
Lubuntu Raring Ringtail. I want to be able to execute my scripts with
./
I start my python script with
#!/usr/bin/python
and it saysbash : ./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
-
Isaiah almost 11 yearsHave you taken a look at this question: stackoverflow.com/questions/9975011/… ?
-