2011-07-06 45 views
2

我有一个运行python脚本的批处理文件。当调用python脚本时,它会启动第二个Windows控制台,然后在完成时消失。这是一个问题,因为我正在编辑批处理文件中的PYTHONPATH环境变量,但由于python脚本正在另一个窗口中运行,因此无法看到编辑的PYTHONPATH环境变量。它曾经工作得很好(一切都会在同一个Windows控制台中运行)。我刚刚安装了Vista SP2,并且出现了这个问题。有关如何解决可能被破坏的任何想法?从批处理文件调用python脚本打开第二个控制台

谢谢。

+1

停止使用Vista? –

+0

不幸的是,我现在坚持使用Vista(这是一款工作电脑)。我也用类似的设置尝试了同事PC上的批处理文件,运行良好。我不知道SP2是否真的应该受到指责,或者只是巧合。我正在使用命令C:\ python25 \ python.exe script.py。我也确定批处理文件与它无关。当我试图从命令行运行python脚本时,会发生同样的事情。 – Jesse

+0

是的,看起来就是这样!在所有用户的选项中,它被设置为以管理员身份运行。我没有检查,现在它是好的!感谢您的帮助,eryksun! – Jesse

回答

0

您是否尝试将python脚本的扩展名更改为.pyw,或者只是使用pythonw.exe调用它?

+0

感谢您的回复。我用pythonw.exe运行了它,第二个窗口没有弹出,但python脚本仍在第二个窗口中运行(即python脚本中的打印语句没有显示在主控制台窗口中)。 – Jesse

+0

I认为pythonw.exe总是在“隐形窗口”中运行。你有没有尝试过python.exe? (我希望它*不*与直接运行.py脚本相同 - 我认为窗口派发的扩展名魔术干扰) –

+0

我正在使用python.exe。如果一个批处理文件正在调用它或者我只是从命令行运行一个python脚本,它似乎没有什么区别。无论哪种方式,第二个窗口弹出。 – Jesse

0

可能是.py文件类型与pythonw.exe相关联,因此导致它在新进程中打开。找到任何.py文件,右键单击它,选择属性,然后选中“在...中打开:”缺省解释器的内容。

+0

我确实将Python.File作为关联的应用程序。这是我运行'ftype Python.File'时得到的结果:python.file =“C:\ Python25 \ python.exe”“%1”%* – Jesse

0

好的,所以我决定重新安装python。如果我在默认位置卸载并重新安装(我正在使用Windows安装程序),它似乎没有任何作用。我清理了注册表并重新安装了。仍然没有不同。但是,如果我在不同的位置(默认情况下除外)安装python,它似乎运行良好。有些地方显然是腐败的,但我不知道在哪里。因此,我将重新安装其他模块的所有其他模块,并从那里开始。

谢谢大家的回复。

相关问题