成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Windows 10中使用Python碰到的奇怪現象

開發 后端
最近在使用 Python 的時候發生了很奇怪的現象:從命令行執行 python.exe 并不會進入 REPL,似乎也沒有其他反應,然而稍等片刻,會看到系統彈出 Windows Store 頁面,并定位到 Python App 的詳情頁。

 最近在使用 Python 的時候發生了很奇怪的現象:從命令行執行 python.exe 并不會進入 REPL,似乎也沒有其他反應,然而稍等片刻,會看到系統彈出 Windows Store 頁面,并定位到 Python App 的詳情頁。

這個現象讓我很是迷惑了一下,還以為是 Python 運行環境出了什么狀況,但很快反應過來,從現象看,應該是 Windows 搞的鬼。

檢查一下路徑是否正常,果然: 

  1. \$ where python  
  2. C:\\Users\\yuhao\\AppData\\Local\\Microsoft\\WindowsApps\\python.exe 

原理是系統自己搞了一個 Python.exe。如果從在資源管理器打開上述目錄的話,會看到這里只有孤零零的幾個 .exe 文件,且圖標也不正常,并不是一個真正的、完整的 Python 運行環境。

那么問題來了,Windows 搞這些沒有實際環境的 .exe 出來,用意何在?

從網上找到一些信息,原來從 Windows 10 2019 五月更新以來,微軟試圖把 Python 帶到 Windows,至于具體做法,則是把 Python3 放到了自家的商店里面。而上面看到的 python.exe 是一個“假的” Python,它的唯一作用在于當系統沒有找到 Python 的時候,自動跳轉到微軟商店去讓我們下載。

以下是微軟團隊給出的說法:Who put Python in the Windows 10 May 2019 Update?

可能是擔心這個新的功能導致一些兼容性方面的結果,微軟又在系統設置里面添加了一個比較隱晦的功能。比起在層層疊疊的設置界面里找到它,更簡單的方法是直接輸入 app exec:

這樣會打開設置的“應用程序別名”界面。這里我們會看到系統認為 python.exe 和 python3.exe 都只是安裝程序的別稱,不過我們也可以選擇把它們關閉。這樣當我們再運行 python 的時候,就會顯示“找不到程序”的標準提示。實際上,Windows 是把上述 .exe 文件偷偷備份到其他地方了。

很多程序員(包括我)很可能都是按照標準的方式從官方下載安裝 Python 執行文件。如果在安裝過程中選擇了“添加到系統環境變量”的話,那么標準 Python 會注冊到系統 PATH 變量,而前面所述的 WindowsApps 目錄則是 Windows 添加到用戶 PATH 變量的。按照 Windows 系統的規則,PATH 環境變量是系統設置先于用戶設置,所以如果安裝了標準版 Python 的話,系統應該首先找到的是它,而不是應用商店版的 Python。后來我發現,之所以我的機器會出現上述問題,是因為系統設置有一點語法錯誤,修正以后再次測試,結果就正常了。

到此,我們已經理解了 Windows 自帶的 Python 是怎么回事。微軟這樣做的初衷,應該是希望普通用戶能更方便地用上 Python,這個想法無可厚非,但放到 Windows 應用商店這個設計思路是否合理,我還是有一些懷疑的。畢竟微軟應用商店一直以來名聲并不算太好,內容少、功能欠缺、速度慢,時不時發生一些惱人的小問題(比如 不知所云的 0x8000xxxx 錯誤)。而“應用程序別名”這個功能到底是解決了問題還是帶來更多的困惑,我也持保留意見。

當我在網上查找關于該問題的信息時,也發現有其他用戶同樣受到該問題的困擾,比如:

  •  [Bug] Don't find python library from WindowsApps dir
  •  Microsoft Store installed python (3.7 - Windows 10) based virtualenvs cannot access pyd DLLs

目前,在 Windows 上面安裝 Python 已經有很多不同的方式:

  •  通過官方網站下載安裝;
  •  通過 Anaconda 集成軟件包;
  •  和 Visual Studio 一起安裝;
  •  通過 chocolatey 之類的第三方包管理;
  •  通過 WSL 安裝 Linux 版 Python;
  •  通過 Windows Store 安裝;

說實話,我認為太多不同的來源渠道會讓環境問題變得更復雜,增加出錯的可能,并且容易迷惑初學者。對于大多數程序員來說,建議大家還是按照最基本的方式,從官方下載并安裝 Python。 

 

責任編輯:龐桂玉 來源: Python編程
相關推薦

2024-08-19 09:07:09

TSvoid類型

2010-01-25 10:37:49

2019-08-26 09:20:29

Windows 10虛擬桌面Windows

2020-01-07 09:50:41

Windows 10上帝模式Windows

2019-12-06 10:05:28

Windows 10手機應用程序

2016-01-05 09:37:41

遠程桌面連接Windows 10

2016-04-11 11:24:55

Windows 10Linux注意事項

2021-03-08 15:33:50

Java框架開發

2010-03-09 14:10:13

Python循環語句

2019-12-13 09:45:38

Windows 10PowerToysWindows

2023-07-19 08:07:27

ChatGPTSyslog

2016-08-11 10:43:56

2009-12-23 09:05:03

2019-02-26 14:10:09

Windows 10命令提示符文件

2019-01-31 10:25:24

Windows 10文本大小

2018-07-09 08:35:45

Windows 10WindowsBug

2021-04-12 07:11:22

Windows10操作系統微軟

2015-12-15 15:38:57

Windows 10存儲空間微軟

2009-07-16 14:22:02

Windows Emb

2014-05-15 11:22:17

Windows SerNIC Teaming
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 狠狠色狠狠色综合系列 | 国产精品日韩欧美一区二区三区 | 国产精品精品视频一区二区三区 | 亚洲精品成人av久久 | 欧美a√| 99久久久99久久国产片鸭王 | 三区在线 | 亚洲天堂一区 | 精品免费国产 | 日韩精品久久久久久 | 激情91| 久久久精彩视频 | 久久激情网 | 国产精品久久久久久久久免费桃花 | 男人av网| 97视频网站 | 亚洲精品一区二区 | 九九精品热| 亚洲v日韩v综合v精品v | 亚洲a在线观看 | 成人国产精品久久 | aaa天堂 | 免费视频久久 | 国产精品成人久久久久a级 久久蜜桃av一区二区天堂 | 91在线一区二区三区 | 欧美精品a∨在线观看不卡 欧美日韩中文字幕在线播放 | 男女网站免费观看 | www.亚洲一区二区三区 | av中文字幕在线播放 | 美国黄色一级片 | 亚洲成人久久久 | 在线播放国产一区二区三区 | 91亚洲国产亚洲国产 | 久久久久免费 | 五月婷婷亚洲 | 91久久久久久久久久久 | 中文字幕精品一区久久久久 | heyzo在线| 久久免费精品 | 亚洲精品久久久久中文字幕二区 | 老牛嫩草一区二区三区av |