Python Script Won't Run Via TextMate, OK in IDLE and Eclipse

前端 未结 2 1784
执笔经年
执笔经年 2021-01-07 09:59

I wrote the following for a homework assignment and it works fine in IDLE and Eclipse running Python 3.

However, I tried to run it from TextMate with the new line 1

相关标签:
2条回答
  • 2021-01-07 10:42

    The problem you are seeing has nothing to do with the Python version. The problem is that TextMate does not try to redirect standard input so, when you are running via the TextMate's Python bundle Run Script command, the Python program sees an immediate end-of-file. As explained here, TextMate used to be fancier about this but the mechanism it used no longer works in OS X 10.6 so the feature was disabled.

    One solution is to use the Shift-Command-R Run Script in Terminal command of TextMate's Python bundle. This causes TextMate to open a terminal window and run the script there and you can enter the input there. Unfortunately, while TextMate does respect the shebang line with the normal Command-R Run Script command, it doesn't seem to do so with the Run Script in Terminal command. You can verify that yourself in various ways. Try running this code snippet in TextMate:

    #! /usr/local/bin/python3
    import sys
    print(sys.executable)
    

    To get around that, you can set the TM_PYTHON environment variable in TextMate. See the answer here for more details on how to do that.

    0 讨论(0)
  • 2021-01-07 10:57

    Textmate is using the built-in Python, rather than respecting the shebang line. You'd probably have to hack the bundle code to use the right python.

    0 讨论(0)
提交回复
热议问题