1.3.2.2 自定义默认的Python版本 在某些情况下,可以在命令中包括版本限定符,以指示命令将使用哪个版本的Python。版本限定符以主版本号开头,可以选择性地后跟句点('。')和次要版本说明符。如果指定了minor限定符,则可以可选地后跟“-32”,以指示使用该版本的32位实现。 例如,shebang行#!python没有版本限定符,而 #!python3有一个版本限定符只指定主版本。 如果在命令中未找到版本限定符,则PY_PYTHON可以将环境变量 设置为指定默认版本限定符 - 默认值为“2”。注意,该值可以仅指定主版本(例如“2”)或major.minor限定符(例如“2.6”),或甚至major.minor-32。 如果未找到次版本限定符,则可以将环境变量 PY_PYTHON{major}(其中{major}是上面确定的当前主版本限定符)设置为指定完整版本。如果没有找到这样的选项,启动器将枚举已安装的Python版本,并使用为主要版本找到的最新次要版本,尽管不能保证,但可能是该系列中最近安装的版本。 在安装了相同(major.minor)Python版本的32位和64位实现的64位Windows上,64位版本将始终是首选。这对于32位和64位的启动器实现都是正确的--32位启动器将更喜欢执行指定版本的64位Python安装(如果可用)。这是因为可以预测启动器的行为只知道什么版本安装在PC上,而不考虑它们被安装的顺序(即,不知道32或64位版本的Python和相应的启动器是最后安装)。如上所述,可以在版本说明符上使用可选的“-32”后缀来更改此行为。 例子: 如果没有相关的选项设置,命令python和 python2将使用安装了最新的Python 2.x的版本,并命令python3将使用安装最新的Python 3.x的。 命令python3.1和python2.7将不会咨询任何选项,因为版本完全指定。 如果PY_PYTHON=3,命令python和python3都将使用最新安装的Python 3版本。 如果PY_PYTHON=3.1-32,命令python将使用3.1的32位实现,而命令python3将使用最新安装的Python(PY_PYTHON根本没有被考虑作为主要版本被指定。) 如果PY_PYTHON=3和PY_PYTHON3=3.1,命令 python和python3将都特别使用3.1 除了环境变量,可以在启动器使用的.INI文件中配置相同的设置。调用INI文件中的部分,[defaults]并且键名称将与没有前导PY_前缀的环境变量相同(并注意INI文件中的键名称不区分大小写。)环境变量的内容将覆盖指定的在INI文件中。 例如: 设置PY_PYTHON=3.1等效于INI文件,其中包含: [默认] python = 3.1 设置PY_PYTHON=3并PY_PYTHON3=3.1等效于INI文件包含: [默认] python = 3 python3 = 3.1 |