安裝失敗的原因有很多 - 在很多情況下,正確的解決方案是聯系包開發人員。
出現問題的常見原因是嘗試將包安裝到你無權修改的位置。 例如,默認的安裝位置可能需要管理權限,但是默認情況下,Python 沒有管理權限。 最佳解決方案是創建一個虛擬環境並在其中進行安裝。
某些包包括本機代碼,需要 C 或 C++ 編譯器才能進行安裝。 一般來說,包開發人員應發布預編譯的版本,但通常沒有發布。 如果安裝了適用於 Visual Studio 的生成工具並選擇了 C++ 選項,則某些包可能會正常運行,但是在大多數情況下,需要聯系包開發人員。
請關注有關 StackOverflow 的討論
在適用於 Linux 的 Windows 子系統(WSL 或 WSL2)上使用 pip 安裝 Flask 等包時,例如使用 python3 -m pip install flask
,你可能會特別遇到如下錯誤:
Bash復制
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None))
after connection broken by 'NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection
object at 0x7f655471da30>: Failed to establish a new connection: [Errno -3]
Temporary failure in name resolution')': /simple/flask/
調查此問題時,你可能會遭遇幾個陷阱,其中沒有一個能通過 WSL Linux 發行版特別高效地解決。 (警告:在 WSL 上,請勿嘗試編輯 resolv.conf
,該文件是一個符號鏈接,修改它會導致出現大量問題)。 除非你正在運行二級市場防火牆,否則只需重新安裝 pip 可能就能解決問題:
Bash復制
sudo apt -y purge python3-pip
sudo python3 -m pip uninstall pip
sudo apt -y install python3-pip --fix-missing
**
由於要處理不同類型的 Python 項目,因此最終可能會在計算機上安裝多個版本的 Python。 由於所有這些版本都使用 python
命令,因此你使用的是哪個版本的 Python 可能並不明顯。 作為標准,建議使用 python3
命令(或 python3.7
以選擇特定版本)。
py.exe 啟動器將自動選擇已安裝的最新版本的 Python。 此外,還可以使用 py -3.7
之類的命令來選擇特定版本,或者使用 py --list
來查看可使用的版本。 但是,僅當使用從 python.org 安裝的 Python 版本時,py.exe 啟動器才會正常運行。從 Microsoft Store 安裝 Python 時,不包含 命令。 對於 Linux、macOS、WSL 和 Microsoft Store 版本的 Python,應使用 python3
(或 python3.7
)命令。
為了幫助新用戶找到正確的 Python 安裝,我們向 Windows 添加了一個快捷方式,可直接轉到 Microsoft Store 中發布的最新版本的社區包。 該包無需管理員權限即可輕松安裝,並將默認的 python
和 python3
命令替換相應的真實命令。
使用任何命令行參數運行快捷方式可執行文件都將返回錯誤代碼,指示未安裝 Python。 這是為了防止批處理文件和腳本意外打開 Store 應用。
如果使用 python.org 中的安裝程序安裝 Python 並選擇“添加到 PATH”選項,則新的 命令將優先於快捷方式。 請注意,其他安裝程序可能以低於內置快捷方式的優先級添加 python
。
通過從“開始”打開“管理應用執行別名”,找到“應用安裝程序”Python 條目並將其切換為“關閉”,無需安裝 Python 即可禁用快捷方式。
Python 字符串對特殊字符使用“轉義符”。 例如,要在字符串中插入換行符,應鍵入 \n
。 由於 Windows 上的文件路徑使用反斜槓,因此某些部分可能已轉換為特殊字符。
要將路徑粘貼為 Python 中的字符串,請添加 r
前綴。 這表示它是一個 raw
字符串,除 \” 外,將不使用任何轉義字符(可能需要刪除路徑中的最後一個反斜槓)。 因此,路徑可能如下所示:r"C:\Users\MyName\Documents\Document.txt"
在 Python 中使用路徑時,建議使用標准 pathlib 模塊。 這樣你就可以將字符串轉換為豐富的 Path 對象,無論它使用正斜槓還是反斜槓,都可以一致地進行路徑操作,從而使代碼在不同的操作系統上可以更好地工作。
Python 使用 PYTHONPATH 環境變量來指定可以從中導入模塊的目錄列表。 運行時,可以檢查 sys.path
變量以查看導入某些內容時將要搜索的目錄。
要在“命令提示符”中設置此變量,請使用:set PYTHONPATH=list;of;paths
。
要在 PowerShell 中設置此變量,請在啟動 Python 之前使用:$env:PYTHONPATH=’list;of;paths’
。
不建議通過“環境變量”設置全局設置此變量,因為使用它的可能是任何版本的 Python,而非要使用的版本。
Docker:VSCode 擴展有助於快速打包和部署 Dockerfile 和 docker-compose.yml 模板(為項目生成正確的 Docker 文件)。
借助 Azure Kubernetes 服務 (AKS),可以在按需縮放資源的同時部署和管理容器化應用程序。
通過設置同步,可以使用 GitHub 在不同安裝之間同步 VS Code 設置。 如果在不同的計算機上工作,這有助於在它們之間保持一致的環境。
VSCode 擴展鍵映射有助於打造你熟悉的環境。