Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PythonLauncher:默认情况下运行意外版本的Python_Python_Environment Variables_Version_Python 3.8 - Fatal编程技术网

PythonLauncher:默认情况下运行意外版本的Python

PythonLauncher:默认情况下运行意外版本的Python,python,environment-variables,version,python-3.8,Python,Environment Variables,Version,Python 3.8,我已经安装了Python 2.7和3.8 我想使用Windows Python Launcher(py.exe)双击.py文件,并让它们在Python 2.7中自动运行,除非我特别使用shebang:#启动.py文件/usr/bin/python3.8 声明这应该像预期的那样工作,因为默认环境变量PY_PYTHON的值为2,所以PYTHON启动器将在默认情况下使用python2.7运行脚本 它没有按预期工作。默认情况下,它使用Python 3.8运行任何脚本。此外,我的环境变量中根本没有PY_P

我已经安装了Python 2.7和3.8

我想使用Windows Python Launcher(py.exe)双击.py文件,并让它们在Python 2.7中自动运行,除非我特别使用shebang:
#启动.py文件/usr/bin/python3.8

声明这应该像预期的那样工作,因为默认环境变量PY_PYTHON的值为2,所以PYTHON启动器将在默认情况下使用python2.7运行脚本

它没有按预期工作。默认情况下,它使用Python 3.8运行任何脚本。此外,我的环境变量中根本没有PY_PYTHON

为什么会这样


我想给用户简单的指导,让他们以这种方式设置使用Python启动器的环境,我不希望让他们手动创建一个新的PY_Python=2环境变量。谢谢你的洞察力

你可以把
#/usr/bin/python2.7
位于Python 2文件和
#的顶部/usr/bin/python3.8
位于Python 3文件的顶部。这不仅提供了运行正确版本的预期效果,而且还通知其他程序员它是用什么版本的Python编写的。

#/usr/bin/python3.8
是一个UNIX/Linux系统。您不应该期望它在Windows上工作。“例如,即使相对的Windows目录“\usr\bin”中不太可能有可执行文件,但“#!/usr/bin/python”的shebang行也应该工作。这意味着许多脚本可以使用单个shebang行,并且可能在Unix和Windows上工作,而无需修改。”@KlausD.谢谢你的建议,但这并不能解决我的问题,因为Python 2中已经开发了太多的文件,我几乎无法控制它们。我只需要一些用户将Python2保留为他们的默认设置,不要弄乱它,而是能够运行我在Python3中为他们开发的一些解决方案。我只需要让他们指向安装Python 3.8的直接链接,然后在一些简单的一次性步骤中,让他们使用随附的Python启动器打开.py文件(双击时)。我认为这个工具的目的是让这变得容易。也许我错过了一些简单的选择?