Docker+jenkins小知识,讲解通俗易懂,有必要收藏
上一篇 /
下一篇 2020-08-13 18:05:29
/ 个人分类:Python
最近在使用Python的时候发生了很奇怪的现象:从命令行执行python.exe并不会进入REPL,似乎也没有其他反应,然而稍等片刻,会看到系统弹出WindowsStore页面,并定位到PythonApp的详情页。 这个现象让我很是迷惑了一下,还以为是Python运行环境出了什么状况,但很快反应过来,从现象看,应该是Windows搞的鬼。 检查一下路径是否正常,果然:
原理是系统自己搞了一个Python.exe。如果从在资源管理器打开上述目录的话,会看到这里只有孤零零的几个.exe文件,且图标也不正常,并不是一个真正的、完整的Python运行环境。
那么问题来了,Windows搞这些没有实际环境的.exe出来,用意何在?
从网上找到一些信息,原来从Windows102019五月更新以来,微软试图把Python带到Windows,至于具体做法,则是把Python3放到了自家的商店里面。而上面看到的python.exe是一个“假的”Python,它的唯一作用在于当系统没有找到Python的时候,自动跳转到微软商店去让我们下载。 可能是担心这个新的功能导致一些兼容性方面的结果,微软又在系统设置里面添加了一个比较隐晦的功能。比起在层层叠叠的设置界面里找到它,更简单的方法是直接输入appexec:
这样会打开设置的“应用程序别名”界面。这里我们会看到系统认为python.exe和python3.exe都只是安装程序的别称,不过我们也可以选择把它们关闭。这样当我们再运行python的时候,就会显示“找不到程序”的标准提示。实际上,Windows是把上述.exe文件偷偷备份到其他地方了。
很多程序员(包括我)很可能都是按照标准的方式从官方下载安装Python执行文件。如果在安装过程中选择了“添加到系统环境变量”的话,那么标准Python会**到系统PATH变量,而前面所述的WindowsApps目录则是Windows添加到用户PATH变量的。按照Windows系统的规则,PATH环境变量是系统设置先于用户设置,所以如果安装了标准版Python的话,系统应该首先找到的是它,而不是应用商店版的Python。后来我发现,之所以我的机器会出现上述问题,是因为系统设置有一点语法错误,修正以后再次测试,结果就正常了。 到此,我们已经理解了Windows自带的Python是怎么回事。微软这样做的初衷,应该是希望普通用户能更方便地用上Python,这个想法无可厚非,但放到Windows应用商店这个设计思路是否合理,我还是有一些怀疑的。毕竟微软应用商店一直以来名声并不算太好,内容少、功能欠缺、速度慢,时不时发生一些恼人的小问题(比如不知所云的0x8000xxxx错误)。而“应用程序别名”这个功能到底是解决了问题还是带来更多的困惑,我也持保留意见。
目前,在Windows上面安装Python已经有很多不同的方式:
通过官方网站下载安装;
通过Anaconda集成软件包;
和VisualStudio一起安装;
通过chocolatey之类的第三方包管理;
通过WindowsStore安装;
说实话,我认为太多不同的来源渠道会让环境问题变得更复杂,增加出错的可能,并且容易迷惑初学者。对于大多数程序员来说,建议大家还是按照最基本的方式,从官方下载并安装Python。
相关阅读:
- Python爬虫入门练手案例,爬取某乎问答数 (旺达, 2020-8-06)
- 学C语言好还是Python好? (旺达, 2020-8-07)
- Python语言的应用领域主要有哪些? (旺达, 2020-8-10)
- 什么是Python Wheels?为什么要关心它? (旺达, 2020-8-11)
- Python制作图片验证码?也就三行代码罢了 (旺达, 2020-8-12)
- Python数据可视化实例之绘制图表 (liqianqian1116, 2021-2-20)
- Python 从入门到精通:一个月就够了 (大椿菜, 2020-11-09)
- 我帮公司财务写了个“群发工资条”的 Python 脚本! (liqianqian1116, 2021-2-18)
- 稳定输出加速开发:数据科学项目开始时应该包括的7个设置 (旺达, 2020-8-13)
- 鼠标自动点击、键盘自动输入?几行Python代码搞定 (大椿菜, 2020-11-23)
收藏
举报
TAG:
Python