命令提示符下运行python的语法错误
问题描述:
在windows命令提示符下运行python时出现此语法错误。命令提示符下运行python的语法错误
即使我什么都不键入并只需点击进入它仍然有语法错误。我唯一能做的就是Ctrl + Z退出。 (exit()does not work)
命令提示符从bat脚本启动,该脚本首先设置一堆env vars然后启动cmd。这个bat文件是通过子进程或os.system从python gui调用的(两者都有问题)。
bat文件,成立于以下方式:
集PYTHONPATH = \一些\路径
...其它更多的环境变量设置(这是本 “定制” 的CMD
目的启动/ d “一些/位置”, “CMD”
如果我直接双击它运行良好的bat文件。
运行echo%PYTHONPATH%表示在推出的这两种情况下都正确的路径(同为其他ENV瓦尔)
我想从一个Python GUI启动它为了方便与设置的所有环境的路径。
任何想法是怎么回事?
答
“解决”它,但不完全解释它对我来说。 @eryksun指出我正确的方向,谢谢!
删除var PYTHONUNBUFFERED为我做了。
set PYTHONUNBUFFERED=
有点得到它,但不是完全...希望消除它不会导致更多的问题! :P这实际上只是一个测试环境,所以实际产品不会以这种方式运行。
Python Interactive Interpreter always returns "Invalid syntax" on Windows
你有没有做任何与怪异字符编码或终端的行为? – user2357112
不是我所知道的。 启动过程为1行: subprocess.Popen( '路径\到\ bat.bat',壳=真) 蝙蝠是作为说明above.THe路径是集合是: PYTHONPATH = myCustomPaths PATH =%PATH% ; gitPathForCallingAGit.exe 这就是它的环境。没有碰过别的东西。 – Mafster
你用什么命令启动Python?这种行为看起来像您使用了'-u'命令行选项,它与Windows上的标准REPL不兼容。它把'stdin'设置为二进制模式。因此,来自控制台输入的CRLF不会被转换为REPL需要的Unix风格LF行尾。 – eryksun