境配置全指南:Windows/macOS/Linux從零到跑通項(xiàng)目)
簡(jiǎn)介一份面向Python零基礎(chǔ)學(xué)習(xí)者的圖文安裝指南通過(guò)步驟拆解與截圖對(duì)照圍繞Python解釋器與PyCharm集成開(kāi)發(fā)環(huán)境的完整搭建流程展開(kāi)幫助讀者從官網(wǎng)下載、安裝選項(xiàng)勾選、命令行驗(yàn)證到創(chuàng)建并運(yùn)行第一個(gè)Python程序解決環(huán)境配置中最常見(jiàn)的操作誤區(qū)。資源以單個(gè)docx文檔呈現(xiàn)壓縮包大小約1.14MB文件總數(shù)僅1個(gè)適合隨時(shí)打開(kāi)對(duì)照操作或作為教學(xué)輔助材料。截至當(dāng)前已有1120人學(xué)習(xí)下載適用于高校學(xué)生、職場(chǎng)新人以及初次接觸Python的愛(ài)好者。文檔內(nèi)容覆蓋了Python安裝成功與否的檢測(cè)方法、PyCharm的下載安裝與新建項(xiàng)目配置并附帶了Add to PATH等關(guān)鍵選項(xiàng)的說(shuō)明、環(huán)境變量配置要點(diǎn)以及變量、數(shù)據(jù)類(lèi)型、控制結(jié)構(gòu)等基礎(chǔ)語(yǔ)法和應(yīng)用領(lǐng)域介紹能讓讀者在完成環(huán)境搭建后快速進(jìn)入編程實(shí)踐。1. 為什么Python安裝總是卡在第一步當(dāng)你在搜索引擎里輸入“Python詳細(xì)安裝步驟”大概率不是不知道Python是什么而是剛剛下載完安裝包、雙擊運(yùn)行后卻發(fā)現(xiàn)在命令行窗口里敲python報(bào)出“不是內(nèi)部或外部命令”。Python本身不復(fù)雜但它的安裝體驗(yàn)取決于操作系統(tǒng)、安裝方式、環(huán)境變量、包管理器等多個(gè)環(huán)節(jié)任何一個(gè)地方?jīng)]對(duì)齊后面寫(xiě)代碼都會(huì)變成玄學(xué)。這篇內(nèi)容把Windows、macOS、Linux三條路線(xiàn)的安裝細(xì)節(jié)和常見(jiàn)翻車(chē)現(xiàn)場(chǎng)整理出來(lái)適合剛轉(zhuǎn)編程或者需要在一臺(tái)新電腦上搭環(huán)境的人照著操作。2. 安裝前先想清楚版本選擇與安裝方式2.1 為什么Python 3.x是唯一的選擇以及解釋器、pip、venv分別是什么不少教程還停留在Python 2與Python 3分家的時(shí)代但到了今天Python 2早已停止維護(hù)第三方庫(kù)也陸續(xù)放棄對(duì)它的支持。你不需要糾結(jié)直接選Python 3.x即可并且建議選擇3.10及以上的長(zhǎng)期維護(hù)版。長(zhǎng)期維護(hù)版意味著官方會(huì)持續(xù)修復(fù)安全問(wèn)題和Bug不會(huì)隔幾個(gè)月就出現(xiàn)“依賴(lài)庫(kù)不兼容”的尷尬。安裝Python本質(zhì)上就是安裝一個(gè)解釋器也就是那個(gè)可以在命令行里運(yùn)行python命令的程序。解釋器負(fù)責(zé)把Python代碼逐行翻譯成機(jī)器能執(zhí)行的指令。伴隨解釋器一起裝好的還有一套標(biāo)準(zhǔn)庫(kù)和兩個(gè)重要工具pip和venv。pip是Python官方的包管理器用來(lái)安裝第三方庫(kù)比如pip install requestsvenv是虛擬環(huán)境模塊用來(lái)給每個(gè)項(xiàng)目單獨(dú)開(kāi)一個(gè)“干凈的房間”避免項(xiàng)目A用的庫(kù)版本把項(xiàng)目B的環(huán)境搞亂。很多人以為裝完P(guān)ython就萬(wàn)事大吉其實(shí)真正的坑在后頭系統(tǒng)PATH里沒(méi)有解釋器路徑、pip被某個(gè)舊版本占用、虛擬環(huán)境沒(méi)建好導(dǎo)致依賴(lài)沖突。這些問(wèn)題的源頭都是對(duì)“解釋器、pip、venv”這三個(gè)概念沒(méi)劃分清楚。理解了這個(gè)基礎(chǔ)后續(xù)安裝步驟就會(huì)更有底。2.2 三種安裝方式官網(wǎng)安裝包、系統(tǒng)包管理器、pyenv怎么選常見(jiàn)做法是三種安裝方式從官網(wǎng)下載安裝包用操作系統(tǒng)的包管理器安裝用專(zhuān)門(mén)的多版本管理工具安裝。它們各有利弊選擇取決于你所在的操作系統(tǒng)和實(shí)際需求。官網(wǎng)安裝包適合Windows和macOS。你從Python官網(wǎng)下載exe或dmg文件雙擊運(yùn)行按圖形界面一步步點(diǎn)下去。優(yōu)點(diǎn)是安裝過(guò)程可控能看到所有組件缺點(diǎn)是官網(wǎng)下載速度在不同網(wǎng)絡(luò)環(huán)境下差別很大而且如果不小心漏選了某個(gè)勾選項(xiàng)后面還需要手動(dòng)改環(huán)境變量。系統(tǒng)包管理器適合Linux和macOS。比如Ubuntu上執(zhí)行sudo apt install python3macOS上用Homebrew執(zhí)行brew install python。優(yōu)點(diǎn)是命令簡(jiǎn)單依賴(lài)自動(dòng)處理卸載也干凈缺點(diǎn)是系統(tǒng)倉(cāng)庫(kù)里的版本可能偏舊比如Ubuntu 20.04自帶的是Python 3.8而很多新項(xiàng)目已經(jīng)要求3.10以上。另外系統(tǒng)包管理器安裝的Python往往被操作系統(tǒng)本身的一些工具依賴(lài)不要輕易卸載或替換。多版本管理工具適合需要頻繁切換Python版本的人最常用的是pyenv。pyenv可以在同一個(gè)用戶(hù)目錄下安裝多個(gè)Python版本通過(guò)pyenv global和pyenv local快速切換。它不觸碰系統(tǒng)自帶的Python安全性高。缺點(diǎn)是需要額外安裝和配置新手最初會(huì)覺(jué)得多了一層復(fù)雜度。一個(gè)比較實(shí)際的選擇建議是Windows用戶(hù)直接官網(wǎng)安裝包macOS用戶(hù)優(yōu)先Homebrew或官網(wǎng)dmgLinux用戶(hù)可以先用系統(tǒng)包管理器如果版本太老再換pyenv。不管選哪種裝完后都要干同一件事在命令行里驗(yàn)證python和pip能不能被正確找到。3. Windows上一步步裝好Python從下載到命令行驗(yàn)證3.1 下載安裝包時(shí)務(wù)必勾選Add Python to PATHWindows上最常見(jiàn)的安裝方式是從官網(wǎng)下載64位可執(zhí)行安裝包。下載頁(yè)面會(huì)根據(jù)你的系統(tǒng)自動(dòng)推薦版本但要注意別下載成32位版本??梢栽谙到y(tǒng)的“設(shè)置-系統(tǒng)-關(guān)于”里查看系統(tǒng)類(lèi)型。如果是64位系統(tǒng)就選包含“64-bit”字樣的安裝包。雙擊安裝包后會(huì)出現(xiàn)安裝界面。這里有一個(gè)決定成敗的選項(xiàng)通常叫做“Add Python to PATH”中文界面會(huì)寫(xiě)成“將Python添加到PATH”。一定要勾選它并且放在安裝之前檢查。如果漏了安裝完成后在命令行運(yùn)行python時(shí)會(huì)提示命令找不到。即使通過(guò)重新修改環(huán)境變量也能挽救但沒(méi)必要多踩這一步。另外安裝界面上還可以選擇“Customize installation”自定義安裝路徑建議把Python安裝到一個(gè)沒(méi)有空格的目錄比如C:\Python312。安裝在有空格的路徑里比如“Program Files”雖然一般情況下沒(méi)事但在某些腳本和批處理命令里會(huì)因?yàn)槁窂浇馕霎a(chǎn)生額外麻煩。自定義安裝時(shí)還需要確保以下組件被選中pip、tcl/tk和IDLE、Python test suite以及“Install launcher for all users”。這些選項(xiàng)在你安裝時(shí)通常默認(rèn)是全選的但有些精簡(jiǎn)教程會(huì)建議取消結(jié)果后面要用到IDLE圖形界面時(shí)又找不到。安裝完成并不意味著結(jié)束閃過(guò)安裝成功界面后還要重新打開(kāi)一個(gè)命令提示符窗口。如果之前的命令行窗口是安裝前打開(kāi)的它不會(huì)自動(dòng)加載新的PATH環(huán)境變量直接運(yùn)行python仍然可能報(bào)錯(cuò)。3.2 用python --version和pip --version驗(yàn)證安裝驗(yàn)證安裝是確認(rèn)“Python到底裝沒(méi)裝對(duì)”的最直接方式。重新打開(kāi)一個(gè)CMD窗口依次執(zhí)行三條命令python --version pip --version where python第一條命令會(huì)輸出解釋器版本號(hào)比如Python 3.12.2第二條命令會(huì)輸出pip的版本以及它對(duì)應(yīng)的Python路徑第三條命令會(huì)列出系統(tǒng)中所有能找到的python.exe的完整路徑。前兩條如果都輸出了信息說(shuō)明安裝基本成功。第三條命令主要用于排查如果你之前裝過(guò)其他版本它會(huì)幫你看到是否同時(shí)存在多個(gè)Python解釋器。如果執(zhí)行python --version時(shí)出現(xiàn)“不是內(nèi)部或外部命令”大概率是安裝時(shí)沒(méi)有勾選“Add Python to PATH”。解決方法是修改環(huán)境變量在系統(tǒng)屬性的“環(huán)境變量”里把Python的安裝目錄和Python的Scripts子目錄都加入Path一般是C:\Python312和C:\Python312\Scripts。這里需要注意順序如果系統(tǒng)里已經(jīng)裝了其他Python新安裝的路徑如果排在后面系統(tǒng)還是優(yōu)先執(zhí)行舊的。where python輸出結(jié)果時(shí)第一行就是當(dāng)前會(huì)實(shí)際執(zhí)行的Python路徑。如果第一行是Windows應(yīng)用商店的路徑而你的Python明明已經(jīng)裝到了D盤(pán)說(shuō)明PATH順序不對(duì)或者安裝時(shí)沒(méi)有真正勾選PATH。3.3 安裝后的第一件事升級(jí)pip和處理版本混淆Python官方安裝包自帶了一個(gè)pip但它的版本可能不是最新的。而pip的更新頻率很高舊版本在解析依賴(lài)或處理新格式的包時(shí)可能出問(wèn)題。所以安裝完成后建議先升級(jí)pippython -m pip install --upgrade pip這里的python -m pip是一種嚴(yán)謹(jǐn)?shù)恼{(diào)用方式它顯式告訴系統(tǒng)“使用當(dāng)前這個(gè)python解釋器配套的pip模塊”。直接執(zhí)行pip install --upgrade pip在只有一個(gè)Python版本時(shí)問(wèn)題不大但當(dāng)你有多個(gè)Python版本時(shí)pip這個(gè)命令不一定指向當(dāng)前激活的版本可能把依賴(lài)裝到別的解釋器里這也是后面會(huì)提到的高頻翻車(chē)場(chǎng)景。在Windows上類(lèi)似的問(wèn)題還有python和py的區(qū)分。Windows官方安裝包會(huì)提供一個(gè)py啟動(dòng)器它更聰明能夠根據(jù)項(xiàng)目里的pyproject.toml或shebang行自動(dòng)選擇Python版本。當(dāng)你需要切換版本時(shí)可以用py -0列出當(dāng)前Windows上安裝的所有Python版本。然后通過(guò)py -3.12顯式指定使用具體版本。對(duì)于新手我一般建議在命令行工具里統(tǒng)一使用python -m pip而不是裸pip從第一次安裝就養(yǎng)成這個(gè)習(xí)慣后面會(huì)少很多環(huán)境錯(cuò)亂的問(wèn)題。4. macOS和Linux安裝包管理器與多版本共存4.1 macOS用Homebrew安裝Python并檢查PATH順序macOS系統(tǒng)自帶一個(gè)Python 3但它主要是給系統(tǒng)工具用的沒(méi)有pip版本也可能比較舊不適合直接拿來(lái)當(dāng)開(kāi)發(fā)環(huán)境。一個(gè)干凈的做法是用Homebrew安裝獨(dú)立的Python。安裝Homebrew本身需要先裝Command Line Tools可以在終端執(zhí)行xcode-select --install接著用Homebrew安裝Pythonbrew install python安裝完成后先別急著用執(zhí)行which python3確認(rèn)實(shí)際情況。在Apple Silicon芯片的Mac上Homebrew的安裝路徑是/opt/homebrew/bin/python3在Intel芯片的Mac上是/usr/local/bin/python3。如果which python3的輸出不是這個(gè)路徑而是/usr/bin/python3說(shuō)明PATH順序里系統(tǒng)自帶的Python排在了前面你需要把Homebrew的路徑更早地加入shell配置文件中。具體做法是在~/.zshrc中把Homebrew路徑放在PATH的最前面。例如export PATH/opt/homebrew/bin:$PATH然后執(zhí)行source ~/.zshrc重新加載。這時(shí)候再運(yùn)行python3 --version應(yīng)該能看到Homebrew裝的較新版本。要注意的是不要輕易去動(dòng)/usr/bin/python3因?yàn)閙acOS系統(tǒng)和一些系統(tǒng)級(jí)腳本依賴(lài)它。另外Homebrew安裝的Python默認(rèn)不會(huì)直接給你一個(gè)叫作python的命令只有python3。因?yàn)橄到y(tǒng)歷史上存在Python 2的殘留約定俗成用python3以免混淆。如果你希望用python這個(gè)短命令可以配置一個(gè)別名但我個(gè)人不建議因?yàn)楹芏嗄_本內(nèi)部會(huì)明確區(qū)分python和python3你自作聰明的別名可能導(dǎo)致意外行為。4.2 Ubuntu和CentOS用apt/yum安裝python3以及PEP 668的坑Linux發(fā)行版的包管理器安裝Python是最順手的。以Ubuntu為例更新完軟件源后sudo apt update sudo apt install -y python3 python3-pip python3-venvpython3-venv是一個(gè)容易被遺漏的組件。有些精簡(jiǎn)版系統(tǒng)默認(rèn)沒(méi)有它導(dǎo)致后面執(zhí)行python3 -m venv時(shí)報(bào)錯(cuò)說(shuō)無(wú)法創(chuàng)建虛擬環(huán)境。python3-pip同理不帶這個(gè)包名的話(huà)系統(tǒng)里的pip3可能壓根不存在。CentOS或者RHEL系列使用dnfsudo dnf install -y python3 python3-pip這里需要注意一個(gè)在較新Linux發(fā)行版中出現(xiàn)的現(xiàn)象當(dāng)你執(zhí)行pip3 install時(shí)系統(tǒng)會(huì)直接拒絕并提示“externally-managed-environment”。這不是你的操作有問(wèn)題而是PEP 668標(biāo)準(zhǔn)從2023年起被普遍引入它告訴用戶(hù)系統(tǒng)包管理器管理的Python環(huán)境不能隨意用pip安裝第三方庫(kù)。這時(shí)候有兩條路可走。一條是創(chuàng)建虛擬環(huán)境再安裝這也是推薦做法另一條是加--break-system-packages參數(shù)繞過(guò)除非你清楚后果否則不要這么做。如果你使用系統(tǒng)自帶Python還容易遇到另一個(gè)問(wèn)題python3指向/usr/bin/python3但pip3可能指向/usr/local/bin/pip3兩者版本不匹配。驗(yàn)證方法是分別執(zhí)行python3 --version和pip3 --version如果輸出的版本不一致說(shuō)明pip3屬于另一個(gè)Python。解決思路就是用python3 -m pip代替裸pip3這樣pip一定與當(dāng)前python3綁定。4.3 用pyenv管理多版本Python切換不用折磨PATH如果你需要同時(shí)維護(hù)多個(gè)項(xiàng)目有的項(xiàng)目要求Python 3.8有的要求3.11那么pyenv是目前最普遍的解決方案。它以普通用戶(hù)身份在~/.pyenv目錄下安裝獨(dú)立的Python版本不會(huì)影響系統(tǒng)Python。先安裝pyenv最簡(jiǎn)單的方式是下載它的Git倉(cāng)庫(kù)并添加shell配置或者用系統(tǒng)的包管理器安裝。無(wú)論哪種方式完成后都要在shell配置文件中加入初始化語(yǔ)句。以bash為例echo export PYENV_ROOT$HOME/.pyenv ~/.bashrc echo export PATH$PYENV_ROOT/bin:$PATH ~/.bashrc echo eval $(pyenv init -) ~/.bashrc重新加載配置文件后查看可安裝的版本列表pyenv install --list然后安裝一個(gè)具體版本比如pyenv install 3.11.8 pyenv global 3.11.8pyenv global設(shè)置的是全局默認(rèn)版本。如果你希望只在某一個(gè)項(xiàng)目目錄里使用特定版本在項(xiàng)目目錄內(nèi)執(zhí)行pyenv local 3.12.2它會(huì)生成一個(gè).python-version文件進(jìn)入該目錄時(shí)自動(dòng)切換。不過(guò)有一個(gè)邊界要注意pyenv在原生Windows上并不能直接工作Windows用戶(hù)需要pyenv-win這個(gè)Windows移植版或者更簡(jiǎn)單的做法是使用WSL。在WSL的Linux環(huán)境里pyenv的行為與Linux完全一致。我通常不建議Windows新手陷入pyenv的復(fù)雜編譯依賴(lài)?yán)锢侠蠈?shí)實(shí)用官方安裝包或WSL就好。5. Python安裝避坑排查新手最容易踩的6個(gè)坑5.1 pip不是內(nèi)部或外部命令但python能執(zhí)行現(xiàn)象在CMD里運(yùn)行pip --version報(bào)錯(cuò)但python --version正常。原因是安裝Python時(shí)沒(méi)有把Scripts目錄加入PATH或者安裝時(shí)取消了pip組件。pip命令實(shí)際存在于Python安裝目錄下的Scripts子目錄里比如C:\Python312\Scripts。解決方法是把C:\Python312\Scripts加入PATH然后新開(kāi)命令行窗口。如果實(shí)在不想改環(huán)境變量可以直接用python -m pip --version臨時(shí)驗(yàn)證和調(diào)用。5.2 運(yùn)行python跳轉(zhuǎn)到微軟商店現(xiàn)象輸入python后沒(méi)有進(jìn)入Python交互環(huán)境而是彈出微軟商店的Python下載頁(yè)面。原因是Windows的PATH中默認(rèn)包含一個(gè)指向WindowsApps目錄的條目這個(gè)目錄下放著名為python.exe的商店應(yīng)用占位符如果你沒(méi)有真正安裝Python系統(tǒng)就會(huì)調(diào)用這個(gè)占位符去打開(kāi)商店。解決方法是先確認(rèn)自己已經(jīng)安裝Python然后檢查PATH里是否Python安裝目錄排在WindowsApps前面。如果安裝后還跳轉(zhuǎn)商店那么在“設(shè)置-應(yīng)用-高級(jí)應(yīng)用設(shè)置-應(yīng)用執(zhí)行別名”里關(guān)閉python.exe和python3.exe的商店別名。5.3 PATH修改后終端重啟仍不生效現(xiàn)象在環(huán)境變量界面里手工添加了Python路徑點(diǎn)擊確認(rèn)但重新打開(kāi)CMD后python依然報(bào)錯(cuò)。原因有兩個(gè)一是你打開(kāi)的CMD確實(shí)是新窗口但系統(tǒng)環(huán)境變量沒(méi)有觸發(fā)廣播二是你可能只修改了用戶(hù)變量而CMD進(jìn)程繼承的是修改前的環(huán)境。解決方法是先關(guān)閉所有命令行窗口重新打開(kāi)一個(gè)如果還不行執(zhí)行set PATHC:;%PATH%強(qiáng)制檢查當(dāng)前值。更徹底的方案是注銷(xiāo)當(dāng)前用戶(hù)或重啟電腦讓所有進(jìn)程重新讀取環(huán)境變量。5.4 Linux下pip3和python3版本不匹配現(xiàn)象python3 --version顯示3.10但pip3 --version顯示3.8。原因是系統(tǒng)里存在多個(gè)Python版本pip3腳本的第一行#!通常指向了/usr/bin/python3或者某個(gè)具體的解釋器。解決方法是不要用裸pip3改用python3 -m pip。同時(shí)檢查which python3和which pip3如果/usr/local/bin和/usr/bin下都有pip3可能需要按照實(shí)際需求動(dòng)態(tài)調(diào)整PATH順序。5.5 多個(gè)Python版本下pip安裝的包總被另一個(gè)版本用現(xiàn)象你用pip install requests明明成功了但寫(xiě)代碼import requests時(shí)卻報(bào)ModuleNotFoundError。原因是裸pip指向的是PATH里排在最前面的Python解釋器而你執(zhí)行python script.py時(shí)python命令指向的又是另一個(gè)解釋器。解決方法是統(tǒng)一入口在激活的虛擬環(huán)境中創(chuàng)建項(xiàng)目并且永遠(yuǎn)用python -m pip代替pip。在Windows上用py -3.12 -m pip可以精確指定版本。5.6 網(wǎng)絡(luò)受限環(huán)境下pip下載超時(shí)改用鏡像源后仍失敗現(xiàn)象pip install卡在下載階段速度很慢或直接超時(shí)。原因是默認(rèn)PyPI官方源在部分網(wǎng)絡(luò)環(huán)境下連接不暢這是客觀存在的情況。解決方法是把pip源切換到國(guó)內(nèi)鏡像站例如清華大學(xué)開(kāi)源軟件鏡像站。臨時(shí)切換方式pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests永久切換方式pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple注意在下載超時(shí)的情況下還可以調(diào)大默認(rèn)的等待時(shí)間比如--timeout 60。但根本辦法還是鏡像源。如果你在辦公網(wǎng)絡(luò)里遇到奇怪的SSL證書(shū)問(wèn)題多半是出口設(shè)備做了內(nèi)容過(guò)濾這時(shí)候用HTTP源而不是HTTPS源只是臨時(shí)繞過(guò)的手段不建議長(zhǎng)期使用。安全起見(jiàn)盡量讓IT部門(mén)開(kāi)放可信站點(diǎn)的訪(fǎng)問(wèn)權(quán)限。6. 讓安裝流程可復(fù)現(xiàn)從裸機(jī)到跑通項(xiàng)目的一串命令6.1 用虛擬環(huán)境把項(xiàng)目的依賴(lài)鎖死新電腦上裝好Python之后做的第一件事不是立刻pip install而是給每個(gè)項(xiàng)目建立一個(gè)虛擬環(huán)境。創(chuàng)建虛擬環(huán)境的命令是python -m venv .venv這里的.venv是環(huán)境目錄名隨你取。創(chuàng)建后需要激活它才能讓后續(xù)安裝的包進(jìn)入這個(gè)環(huán)境而不是污染全局。Windows激活命令.\.venv\Scripts\activatemacOS和Linux激活命令source .venv/bin/activate激活后命令行提示符前面會(huì)出現(xiàn)(.venv)這就說(shuō)明當(dāng)前shell已經(jīng)在虛擬環(huán)境內(nèi)部了。之后執(zhí)行python、pip時(shí)用的都是這個(gè)環(huán)境里的解釋器。要退出環(huán)境直接執(zhí)行deactivate。這個(gè)步驟是整個(gè)安裝流程里最值得養(yǎng)成習(xí)慣的一環(huán)能幫你避開(kāi)很多依賴(lài)打架的問(wèn)題。6.2 用requirements.txt實(shí)現(xiàn)一條命令恢復(fù)環(huán)境項(xiàng)目開(kāi)發(fā)到一定程度依賴(lài)列表就需要被固定下來(lái)。虛擬環(huán)境內(nèi)執(zhí)行pip freeze requirements.txt這個(gè)文件會(huì)列出環(huán)境里所有包以及精確的版本號(hào)。換到新機(jī)器或者新同事拿到代碼時(shí)只需創(chuàng)建并激活虛擬環(huán)境然后執(zhí)行pip install -r requirements.txt就能把整個(gè)依賴(lài)環(huán)境原樣恢復(fù)。這里有一個(gè)很實(shí)際的坑pip freeze會(huì)連pip自身都記錄下來(lái)而且包含一些無(wú)關(guān)的傳遞依賴(lài)所以在虛擬環(huán)境里用比較干凈。不要把系統(tǒng)Python環(huán)境里的pip freeze輸出直接當(dāng)成項(xiàng)目依賴(lài)?yán)锩娑蚜撕芏嗄憧赡芨居貌坏降陌?.3 驗(yàn)證安裝是否成功的兩個(gè)小技巧你始終需要一種方式確認(rèn)“當(dāng)前Python環(huán)境是否真的如你預(yù)期”。第一個(gè)技巧是查看解釋器絕對(duì)路徑python -c import sys; print(sys.executable)如果輸出的是你的虛擬環(huán)境路徑比如...\.venv\Scripts\python.exe說(shuō)明環(huán)境激活正確如果輸出的是/usr/bin/python3說(shuō)明你還在全局環(huán)境里需要檢查激活命令是否執(zhí)行成功。第二個(gè)技巧是查看當(dāng)前環(huán)境的包清單pip list --formatcolumns這條命令會(huì)以表格形式列出所有已安裝的庫(kù)。如果列表中出現(xiàn)你根本沒(méi)裝過(guò)的東西或者缺少某個(gè)預(yù)期庫(kù)那就是安裝環(huán)境配錯(cuò)了。最后順手跑一個(gè)最小的smoke testpython -c print(hello)確認(rèn)輸出hello且沒(méi)有異常再開(kāi)始正式寫(xiě)項(xiàng)目代碼。我在給新同事配環(huán)境時(shí)最常重復(fù)的一句話(huà)是“永遠(yuǎn)用python -m pip永遠(yuǎn)在虛擬環(huán)境里裝包”。這兩條習(xí)慣一旦立住后續(xù)遇到的安裝類(lèi)問(wèn)題會(huì)少掉八八九九。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取