Python 在win中双击foo.py。explorer不';其他运行方法不起作用。

Python 在win中双击foo.py。explorer不';其他运行方法不起作用。,python,Python,简短回答:如果文件末尾没有input(),则在资源管理器中双击时,双击double tripple quadripple检查Python的哪个版本正在试图运行脚本。为此,将导入pdb;pdb.set_trace()在脚本中的某个位置,双击它,然后查看窗口的标题 问题在标题中。我已经编写了一个简单的python应用程序,如果我从Iddle运行它,如果我通过“python foo.py”(使用Windows 10)从命令行运行它,它会运行得很好 但是,如果在win中双击运行,则它不起作用。探索者命令

简短回答:如果文件末尾没有
input()
,则在资源管理器中双击时,双击double tripple quadripple检查Python的哪个版本正在试图运行脚本。为此,将
导入pdb;pdb.set_trace()
在脚本中的某个位置,双击它,然后查看窗口的标题

问题在标题中。我已经编写了一个简单的python应用程序,如果我从Iddle运行它,如果我通过“python foo.py”(使用Windows 10)从命令行运行它,它会运行得很好

但是,如果在win中双击运行,则它不起作用。探索者命令行窗口弹出,闪烁-它消失了。我设法得出结论,评论这些进口:

from pysvn import Client
from urllib import parse
防止任何不好的事情发生,应用程序可以运行,但我需要这些导入

这可能是什么原因造成的?我确信文件关联设置正确,双击会导致C:\Python\Python 3.5.3\Python.exe打开.py文件。从命令行运行.py和从win运行它们有什么区别。探险家

编辑1:我确实尝试创建一个bat文件,其中包含以下行:
“C:\Python\Python 3.5.3\Python.exe”foo.py%*
-它工作正常。但是,如上所述创建的cmd.exe快捷方式不起作用

编辑2:@Mark Mikofski注释帮助我注意到,尽管我认为双击会导致C:\Python\Python 3.5.3\Python.exe打开.py文件,但进程名显示它是python2.7。即使我右键单击我的foo.py文件并使用python 3.5文件夹中的python.exe手动打开它。这对我来说是个谜,但卸载Python2.7有助于解决这个问题,因此现在我知道我应该研究如何使不同版本的python顺利运行,和/或如何告诉脚本使用特定版本(shebang似乎在windows上不起作用)

但是,如果在win中双击运行,则它不起作用。探索者 命令行窗口弹出,闪烁-它消失了

这在Windows下是正常的,如果希望命令提示窗口一直保持到按[code>enter键,则需要将
input
放在脚本的末尾。一旦您的控制台程序执行并到达文件末尾,您就什么都没有了,它就退出了,默认情况下这是在Windows下

这可能是什么原因造成的?我确信文件关联设置正确,双击会导致C:\Python\Python 3.5.3\Python.exe打开.py文件。从命令行运行.py和从win运行它们有什么区别。探险家

*如果在Windows计算机中安装了Python Windows Launcher,单击文件将运行py.exe,此可执行文件将确定运行脚本的正确Python.exe,除非您将文件关联从Windows更改为直接运行Python.exe,或者选择不同时安装启动程序。最大的区别在于,Windows文件资源管理器可能运行python.exe,也可能不运行python.exe,您必须在Windows中进行双重检查,同时在命令提示下键入:
python.exe myscript.py
使用python.exe执行myscript.py。通常,Windows会从环境变量
PATH
中找到python.exe

尝试单击此脚本并查看发生了什么:

#myscript.py
input("Press enter to exit")
单击此脚本文件时,控制台窗口应保持不变

但是,如果在win中双击运行,则它不起作用。探索者 命令行窗口弹出,闪烁-它消失了

这在Windows下是正常的,如果希望命令提示窗口一直保持到按[code>enter键,则需要将
input
放在脚本的末尾。一旦您的控制台程序执行并到达文件末尾,您就什么都没有了,它就退出了,默认情况下这是在Windows下

这可能是什么原因造成的?我确信文件关联设置正确,双击会导致C:\Python\Python 3.5.3\Python.exe打开.py文件。从命令行运行.py和从win运行它们有什么区别。探险家

*如果在Windows计算机中安装了Python Windows Launcher,单击文件将运行py.exe,此可执行文件将确定运行脚本的正确Python.exe,除非您将文件关联从Windows更改为直接运行Python.exe,或者选择不同时安装启动程序。最大的区别在于,Windows文件资源管理器可能运行python.exe,也可能不运行python.exe,您必须在Windows中进行双重检查,同时在命令提示下键入:
python.exe myscript.py
使用python.exe执行myscript.py。通常,Windows会从环境变量
PATH
中找到python.exe

尝试单击此脚本并查看发生了什么:

#myscript.py
input("Press enter to exit")

单击此脚本文件时,控制台窗口应保持不变。

cwd文件夹(从中执行python)可能不同,这在使用相对路径时尤其重要(因为环境变量不同;这是chron+python的常见问题)。(但我从来没有玩过这种东西)。@sascha,你是说,当我自己打开命令行时,环境变量是不同的,当双击.py文件打开命令行时,环境变量是不同的?那可能会引起我的问题。我怎么检查这个?或者在哪里查找更多信息?您可以尝试通过创建Windows命令提示符的快捷方式来确定这是否是问题所在,然后该快捷方式将在脚本中运行Python。关于如何设置,请参见以下内容:@Abid Hasan,忘了提及,我确实创建了一个bat文件,其中包含以下行:
“C:\Python\Python 3.5.3\Python.exe”foo.py%*
-它工作得很好。但是,如上所述创建的cmd.exe快捷方式不起作用。请尝试在
foo.py
文件中的某个位置放置