Shebang doesn't work with python3

后端 未结 4 1738
执笔经年
执笔经年 2020-12-25 10:54

I have the following program:

#!/usr/local/bin/python3

print(\"Hello\")

Via terminal I do test.py and I get:

         


        
4条回答
  •  忘掉有多难
    2020-12-25 11:35

    Generally, take care of some pitfalls:

    1. set the executable flag on the script: chmod u+x test.py

    2. try to execute with a preceding dot "./", so call ./test.py otherwise it might execute some other script from within your PATH

    3. also make sure you don't have windows line endings, this seems to prevent the shebang evaluation, too. There are some suggestions around, e.g. in this answer, on how to convert the format.

      If python3 test.py works, then the windows line endings are probably your problem.

    4. #!/usr/bin/env python3 is the best way to define the shebang (i.e. use this as first line of your script), since the python binary may be installed somewhere else. env will inspect the PATH environment to find the binary

    5. As @ShaileshKumarMPatel has pointed out in the comments here, make sure, there's no wrong line beginnings (color characters etc)

    EDIT: The OP's kind of error looks like windows line endings to me. I've had them, too, with different output though

提交回复
热议问题