首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么python和py命令运行不同的python 3版本?

为什么python和py命令运行不同的python 3版本?
EN

Stack Overflow用户
提问于 2017-09-03 19:10:00
回答 2查看 1.4K关注 0票数 5

我已经使用django命令( pip命令,pip install Django)安装了py,但是无法使用py命令运行它,因为它找不到模块。我只能使用'python‘命令使其工作。

这里是我所关注的截图的摘要。

代码语言:javascript
运行
复制
$ python --version
Python 3.6.1
$ py --version
Python 3.6.0

它看起来也像django只适用于3.6.1。

有没有办法将这两个命令都设置为运行最新版本的python?

截图:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-03 20:11:36

在windows上,py是存储在C:\Windows文件夹中的可执行文件。老实说,我不知道它包含了什么,因为我习惯了它在linux上的符号链接,而且我的windows安装显示普通的python可执行文件是py大小的一小部分,尽管我确信它们指向相同的安装。无论如何,您可以通过删除或重命名(python.bak等)您不想继续使用的可执行文件来解决问题,然后将所需的可执行文件复制到位,并将其重命名为您以前删除或重命名的名称。我无法想象这是解决这个问题的官方方法,但这是可行的。此外,在将来,如果您想确定您使用的是哪种安装,而不是只运行pip的任何点,那么可以显式地指定要安装的pip版本:

代码语言:javascript
运行
复制
py -m pip install packagename
python -m pip install packagename

在同一个系统上遇到多个python版本的问题在Windows中是很常见的,所以建立一个虚拟环境可能是有益的。这在Django Windows安装方法中得到了解释。

票数 1
EN

Stack Overflow用户

发布于 2017-09-03 20:07:32

在执行面向Windows的Python启动程序时使用py。对于希望py使用此命令执行哪个Python解释器版本,您可以有具体的说明:

代码语言:javascript
运行
复制
> py -3.6

请参阅PEP 397:Python版本限定符中的本节。

如果在命令中没有找到版本限定符,则可以将环境变量PY_PYTHON设置为指定默认版本限定符- --默认值为"2“。注意,这个值可以只指定一个主要版本(例如"2")或一个major.minor限定符(例如"2.6"),甚至可以指定major.minor-32。 如果没有找到次要版本限定符,则可以设置环境变量PY_PYTHON{major} (其中{major}是当前的主版本限定符,如上面所确定的)来指定完整版本。如果找不到这样的选项,启动程序将枚举已安装的Python版本,并使用为主要版本找到的最新的次要版本,虽然这不是保证,但它可能是该系列中最近安装的版本。 除了环境变量之外,还可以在启动程序使用的.INI文件中配置相同的设置。INI文件中的部分称为默认值,密钥名将与不带前导PY_ prefix的环境变量相同(请注意,INI文件中的密钥名不区分大小写)。环境变量的内容将覆盖INI文件中指定的内容。

此外,Python不仅限于启动不同的Python版本,还在源代码文件中解析了shebang #!,提供了类似于Windows中*nix操作系统的功能。

*请参阅面向Windows的Python启动程序文档。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46026973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档