環(huán)境搭建:從虛擬環(huán)境到項(xiàng)目可復(fù)現(xiàn)性)
1. 從零到一為什么需要一個(gè)“干凈”的Python開發(fā)環(huán)境如果你剛開始接觸Python或者從其他語言轉(zhuǎn)過來可能會(huì)覺得“安裝Python和PyCharm”不就是下載、安裝、點(diǎn)開用嗎這有什么好說的作為一個(gè)踩過無數(shù)環(huán)境坑的老碼農(nóng)我必須告訴你這個(gè)看似簡單的第一步恰恰是未來無數(shù)詭異Bug的源頭。很多人代碼寫不出來不是邏輯問題而是環(huán)境“臟了”、“亂了”或者“版本打架了”。今天我就帶你手把手搭建一個(gè)清爽、隔離、可復(fù)現(xiàn)的Python 3.8 PyCharm開發(fā)環(huán)境這不僅是安裝軟件更是建立一套規(guī)范的工作流。為什么強(qiáng)調(diào)Python 3.8雖然Python 3.9、3.10甚至3.11已經(jīng)發(fā)布但3.8是一個(gè)長期支持版本在穩(wěn)定性和生態(tài)兼容性上取得了很好的平衡。很多企業(yè)級(jí)項(xiàng)目、機(jī)器學(xué)習(xí)框架如某些特定版本的TensorFlow對(duì)3.8有明確要求。從它開始既能接觸到現(xiàn)代Python的特性如海象運(yùn)算符:又能避免最新版本可能存在的邊緣兼容性問題。而PyCharm作為JetBrains出品的IDE其智能代碼補(bǔ)全、調(diào)試、項(xiàng)目管理功能能極大提升開發(fā)效率和幸福感社區(qū)版對(duì)個(gè)人開發(fā)者完全免費(fèi)足夠使用。所以這篇指南的目標(biāo)不僅僅是“能運(yùn)行”而是為你建立一個(gè)專業(yè)、可靠、易于維護(hù)的編碼基地。我們會(huì)覆蓋Windows和macOS兩大主流平臺(tái)并解釋每一個(gè)關(guān)鍵步驟背后的原因讓你知其然更知其所以然未來遇到環(huán)境問題也能自己排查。2. 基石準(zhǔn)備Python 3.8的安裝與核心配置安裝Python遠(yuǎn)不止雙擊安裝包。不同的安裝方式和后續(xù)配置決定了你未來是“環(huán)境管理員”還是“環(huán)境救火隊(duì)員”。2.1 官方安裝包 vs 包管理器如何選擇在Windows上最直接的方式是從 Python官網(wǎng) 下載對(duì)應(yīng)系統(tǒng)的安裝包如python-3.8.18-amd64.exe。官網(wǎng)下載能確保來源純凈但需要手動(dòng)處理一些配置。在macOS上雖然系統(tǒng)自帶了Python 2.7和3.x但強(qiáng)烈建議不要?jiǎng)酉到y(tǒng)自帶的Python以免影響系統(tǒng)工具。推薦使用Homebrew這個(gè)包管理器來安裝。在終端執(zhí)行brew install python3.8即可。Homebrew的優(yōu)勢在于自動(dòng)處理依賴和路徑更新卸載也非常方便。為什么推薦包管理器或注意路徑核心是為了避免權(quán)限問題和環(huán)境混亂。直接安裝到系統(tǒng)目錄可能需要管理員權(quán)限且多個(gè)Python版本共存時(shí)會(huì)非常麻煩。我們的目標(biāo)是實(shí)現(xiàn)環(huán)境的隔離。2.2 Windows平臺(tái)安裝詳解與避坑點(diǎn)對(duì)于Windows用戶下載好安裝程序后雙擊運(yùn)行這里有幾個(gè)必須勾選的選項(xiàng)“Add Python 3.8 to PATH”一定要勾選這個(gè)選項(xiàng)會(huì)將Python和它的包管理工具pip的路徑添加到系統(tǒng)的環(huán)境變量中。如果不勾選你將無法在命令行CMD或PowerShell中直接輸入python或pip命令會(huì)得到“無法將‘python’項(xiàng)識(shí)別為 cmdlet、函數(shù)、腳本文件或可運(yùn)行程序的名稱”這類錯(cuò)誤這和你提供的熱詞npm : 無法將“npm”項(xiàng)識(shí)別...是同類問題。這就是很多新手遇到的第一個(gè)大坑。“Install launcher for all users (recommended)”建議勾選。這允許你在命令行中使用py這個(gè)啟動(dòng)器它可以方便地切換多個(gè)已安裝的Python版本。選擇自定義安裝Customize installation在第一個(gè)安裝界面點(diǎn)擊這個(gè)選項(xiàng)。在接下來的“Optional Features”界面確保pip和py launcher是選中的。pip是Python的包安裝工具沒有它寸步難行。安裝完成后需要驗(yàn)證。打開命令提示符CMD或PowerShell注意不是Python自帶的IDLE也不是以管理員身份運(yùn)行除非遇到權(quán)限問題輸入python --version或者使用啟動(dòng)器py -3.8 --version如果正確顯示Python 3.8.x恭喜你第一步成功了。再輸入pip --version確認(rèn)pip也可用。注意有時(shí)即使勾選了“Add to PATH”新開的命令行可能還是找不到命令。這是因?yàn)榄h(huán)境變量需要重啟終端或注銷重登錄才能生效。如果遇到可以手動(dòng)將C:\Users\你的用戶名\AppData\Local\Programs\Python\Python38和C:\Users\你的用戶名\AppData\Local\Programs\Python\Python38\Scripts添加到系統(tǒng)的PATH變量中。2.3 macOS/Linux平臺(tái)安裝與路徑管理對(duì)于使用Homebrew的macOS用戶安裝后驗(yàn)證方式相同。需要注意的是Homebrew安裝的Python 3其命令可能是python3和pip3這是為了與系統(tǒng)自帶的Python 2命令為python區(qū)分開。你可以通過python3 --version來檢查。一個(gè)更專業(yè)的做法是無論哪個(gè)平臺(tái)都使用pyenv這樣的工具來管理多個(gè)Python版本。但對(duì)于入門和專注于3.8的我們上述方法更直接。如果你未來需要頻繁切換3.7、3.8、3.9等版本pyenv是終極解決方案。3. 虛擬環(huán)境項(xiàng)目隔離的“安全屋”這是最重要也最容易被新手忽略的一步。想象一下你項(xiàng)目A需要Django 2.2項(xiàng)目B需要Django 3.2。如果你把所有包都安裝在全局Python環(huán)境里那么兩個(gè)項(xiàng)目的要求會(huì)沖突導(dǎo)致其中一個(gè)無法運(yùn)行。虛擬環(huán)境Virtual Environment就是為每個(gè)項(xiàng)目創(chuàng)建一個(gè)獨(dú)立的Python運(yùn)行環(huán)境包括獨(dú)立的解釋器和包目錄互不干擾。3.1 創(chuàng)建并激活虛擬環(huán)境打開終端Windows用CMD/PowerShellmacOS用Terminal進(jìn)入你計(jì)劃存放項(xiàng)目的目錄例如D:\MyPythonProjects或~/Projects。執(zhí)行以下命令來創(chuàng)建一個(gè)名為venv名稱可自定的虛擬環(huán)境# Windows python -m venv venv # macOS/Linux (如果python命令指向3.8) python3 -m venv venv # 或者使用具體版本 python3.8 -m venv venv-m venv意思是調(diào)用Python內(nèi)置的venv模塊來創(chuàng)建環(huán)境。第二個(gè)venv是文件夾名稱。創(chuàng)建完成后你需要激活這個(gè)環(huán)境這樣后續(xù)的所有pip install操作才會(huì)安裝到這個(gè)隔離的環(huán)境里而不是全局。Windows (CMD):venv\Scripts\activate.batWindows (PowerShell):venv\Scripts\Activate.ps1首次在PowerShell執(zhí)行時(shí)可能會(huì)因執(zhí)行策略限制而報(bào)錯(cuò)。可以以管理員身份運(yùn)行PowerShell執(zhí)行Set-ExecutionPolicy RemoteSigned選擇Y或者直接在當(dāng)前會(huì)話輸入.\venv\Scripts\Activate.ps1。macOS/Linux:source venv/bin/activate激活成功后你的命令行提示符前面會(huì)出現(xiàn)(venv)字樣如下所示(venv) D:\MyPythonProjects這表示你現(xiàn)在正工作在虛擬環(huán)境中。要退出虛擬環(huán)境只需輸入deactivate。3.2 虛擬環(huán)境的最佳實(shí)踐與常見問題最佳實(shí)踐為每一個(gè)獨(dú)立的項(xiàng)目創(chuàng)建獨(dú)立的虛擬環(huán)境。甚至可以為同一個(gè)項(xiàng)目的不同開發(fā)分支創(chuàng)建不同環(huán)境。環(huán)境文件夾venv通常被添加到.gitignore文件中不納入版本控制。你只需要在項(xiàng)目文檔如README.md或一個(gè)requirements.txt文件中記錄項(xiàng)目依賴。常見問題激活腳本執(zhí)行失敗特別是在Windows PowerShell上可能是執(zhí)行策略問題按上述方法解決。也可能是殺毒軟件或OneDrive等同步工具鎖定了腳本文件暫時(shí)關(guān)閉試試。環(huán)境創(chuàng)建速度慢venv會(huì)復(fù)制一份基礎(chǔ)Python環(huán)境如果磁盤慢可能會(huì)耗時(shí)。也可以使用virtualenv工具有時(shí)更快。“python”命令在虛擬環(huán)境中找不到極少數(shù)情況下虛擬環(huán)境可能沒有正確鏈接Python解釋器。最穩(wěn)妥的創(chuàng)建方式是使用絕對(duì)路徑指向你安裝的Python 3.8C:\Users\...\Python38\python.exe -m venv venv。4. PyCharm的安裝與核心配置PyCharm分專業(yè)版Professional和社區(qū)版Community。對(duì)于純Python開發(fā)社區(qū)版功能完全足夠且免費(fèi)。我們以社區(qū)版為例。4.1 下載與安裝從 JetBrains官網(wǎng) 下載對(duì)應(yīng)操作系統(tǒng)的社區(qū)版安裝包。安裝過程基本是“下一步”到底但有幾點(diǎn)建議安裝路徑避免中文和特殊字符防止?jié)撛趩栴}。創(chuàng)建桌面快捷方式和更新PATH變量將jetbrains腳本添加到系統(tǒng)PATH的選項(xiàng)可以勾選方便后續(xù)在命令行中用charm命令快速啟動(dòng)項(xiàng)目。關(guān)聯(lián)文件類型建議將.py文件關(guān)聯(lián)到PyCharm以后雙擊py文件會(huì)用PyCharm打開。4.2 首次運(yùn)行與基礎(chǔ)設(shè)置首次啟動(dòng)PyCharm會(huì)進(jìn)行一些初始化配置主題選擇根據(jù)喜好選擇深色Darcula或淺色主題。插件市場初期可以跳過等熟悉基本功能后再按需安裝比如中文語言包、Markdown支持等。創(chuàng)建新項(xiàng)目這才是重頭戲。點(diǎn)擊“New Project”你會(huì)看到以下關(guān)鍵配置界面Location選擇你的項(xiàng)目存放路徑例如D:\MyPythonProjects\my_first_project。Project Type選擇“Pure Python”。Python Interpreter這是連接我們之前工作的核心不要使用默認(rèn)的“New environment using Virtualenv”。我們應(yīng)該使用“Previously configured interpreter”。點(diǎn)擊“Previously configured interpreter”右邊的“...”按鈕在彈出的窗口中選擇“Virtualenv Environment”。在“Location”欄瀏覽并指向你之前用命令行創(chuàng)建的venv文件夾例如D:\MyPythonProjects\venv。PyCharm會(huì)自動(dòng)識(shí)別出該環(huán)境中的Python解釋器venv\Scripts\python.exe。為什么這么做這樣做的好處是PyCharm的環(huán)境和你在命令行中手動(dòng)激活的環(huán)境是同一個(gè)。你在PyCharm里安裝的包在終端激活環(huán)境后也能用反之亦然。保持了開發(fā)環(huán)境的一致性避免了“在IDE里運(yùn)行正常在命令行報(bào)錯(cuò)找不到模塊”的經(jīng)典問題。4.3 配置Python解釋器與包管理項(xiàng)目創(chuàng)建后你可以在PyCharm右下角看到當(dāng)前配置的解釋器名稱如Python 3.8 (venv)。點(diǎn)擊這里可以隨時(shí)切換或管理解釋器。打開File - Settings - Project: your_project_name - Python Interpreter你可以看到當(dāng)前虛擬環(huán)境中已安裝的包列表初始只有pip,setuptools等。你可以點(diǎn)擊號(hào)搜索并安裝新包如requestsPyCharm會(huì)自動(dòng)調(diào)用該環(huán)境下的pip進(jìn)行安裝。你也可以在這里升級(jí)或卸載包。個(gè)人心得雖然PyCharm的圖形化包管理很方便但我仍然推薦在終端激活虛擬環(huán)境后使用pip install命令來管理包。原因有二一是命令行的操作記錄更清晰便于復(fù)現(xiàn)二是在部署到服務(wù)器時(shí)你幾乎肯定是在命令行操作。保持對(duì)命令行pip的熟練度很重要。你可以將常用命令寫在項(xiàng)目的README.md里。5. 創(chuàng)建并運(yùn)行你的第一個(gè)腳本環(huán)境配置好了我們來點(diǎn)儀式感創(chuàng)建并運(yùn)行一個(gè)“Hello, World!”腳本驗(yàn)證整個(gè)鏈路是否通暢。5.1 在PyCharm中創(chuàng)建文件在PyCharm左側(cè)的項(xiàng)目文件樹中右鍵點(diǎn)擊你的項(xiàng)目根目錄選擇New - Python File命名為hello.py。PyCharm會(huì)自動(dòng)以正確的Python文件模板創(chuàng)建它。在hello.py中輸入以下經(jīng)典代碼def main(): print(Hello, World! My Python development environment is ready!) print(fPython version: {__import__(sys).version}) if __name__ __main__: main()這段代碼比簡單的print多了一點(diǎn)東西它定義了一個(gè)main函數(shù)并使用if __name__ __main__:這個(gè)慣用法。這保證了當(dāng)你直接運(yùn)行這個(gè)腳本時(shí)main()函數(shù)會(huì)被執(zhí)行而如果這個(gè)文件被作為模塊導(dǎo)入到其他文件時(shí)main()不會(huì)自動(dòng)執(zhí)行。這是一種良好的編程習(xí)慣。5.2 多種運(yùn)行方式及其區(qū)別在PyCharm中運(yùn)行腳本有多種方式理解它們有助于調(diào)試右鍵運(yùn)行在代碼編輯區(qū)右鍵選擇“Run ‘hello’”。這是最常用的方式。PyCharm會(huì)使用你為項(xiàng)目配置的解釋器我們的venv來執(zhí)行這個(gè)文件。使用快捷鍵默認(rèn)是Shift F10運(yùn)行上次配置或Ctrl Shift F10運(yùn)行當(dāng)前文件。在終端中運(yùn)行點(diǎn)擊PyCharm下方的“Terminal”標(biāo)簽頁。如果配置正確你會(huì)看到終端提示符前也有(venv)。此時(shí)你可以輸入命令python hello.py來運(yùn)行。這和在系統(tǒng)終端激活環(huán)境后運(yùn)行的效果完全一致是驗(yàn)證環(huán)境一致性的好方法。調(diào)試模式點(diǎn)擊代碼行號(hào)左側(cè)的空白區(qū)域設(shè)置斷點(diǎn)會(huì)出現(xiàn)紅點(diǎn)然后右鍵選擇“Debug ‘hello’”。這是排查復(fù)雜Bug的利器可以逐行執(zhí)行查看變量狀態(tài)。運(yùn)行成功后你會(huì)在PyCharm下方的“Run”工具窗口看到輸出結(jié)果其中應(yīng)包含你打印的字符串和Python版本信息3.8.x。5.3 解讀運(yùn)行結(jié)果與問題排查如果運(yùn)行失敗常見的錯(cuò)誤和排查思路如下ModuleNotFoundError: No module named XXX這通常是因?yàn)槟愦a中引用了第三方庫如requests但當(dāng)前虛擬環(huán)境中沒有安裝。回到“Python Interpreter”設(shè)置或終端用pip install安裝即可。語法錯(cuò)誤SyntaxErrorPyCharm通常會(huì)有紅色波浪線提示。檢查是否使用了Python 3.8不支持的語法但3.8兼容性很好。解釋器配置錯(cuò)誤確保PyCharm中項(xiàng)目使用的解釋器路徑指向的是venv文件夾下的python.exe而不是全局的Python。檢查方法就是看運(yùn)行輸出開頭或解釋器設(shè)置里的路徑。6. 進(jìn)階配置讓開發(fā)環(huán)境更順手基礎(chǔ)環(huán)境搭好就像毛坯房完成了硬裝。接下來我們做一些“軟裝”讓開發(fā)效率更高。6.1 配置PyCharm的代碼風(fēng)格與模板統(tǒng)一的代碼風(fēng)格如PEP 8對(duì)團(tuán)隊(duì)協(xié)作和個(gè)人代碼質(zhì)量都至關(guān)重要。PyCharm內(nèi)置了強(qiáng)大的代碼風(fēng)格檢查和格式化工具。自動(dòng)格式化在Settings - Editor - Code Style - Python中可以設(shè)置縮進(jìn)、空格、換行等規(guī)則。我習(xí)慣直接使用“Set from…”下拉框選擇“PEP 8”。你可以使用快捷鍵Ctrl Alt LWindows/Linux或Cmd Option LmacOS來快速格式化整個(gè)文件。文件模板每次新建Python文件時(shí)PyCharm會(huì)自動(dòng)生成一些內(nèi)容如文件頭注釋。你可以在Settings - Editor - File and Code Templates的“Python Script”標(biāo)簽頁中自定義。例如我通常會(huì)加上作者、創(chuàng)建時(shí)間和一個(gè)基礎(chǔ)的if __name__結(jié)構(gòu)。6.2 使用Requirements.txt管理項(xiàng)目依賴虛擬環(huán)境隔離了包但如何記錄這個(gè)環(huán)境里具體有哪些包及其版本呢答案就是requirements.txt文件。在PyCharm的終端確保已激活venv中運(yùn)行pip freeze requirements.txt這個(gè)命令會(huì)將當(dāng)前環(huán)境中所有通過pip安裝的包及其精確版本號(hào)輸出到requirements.txt文件中。這個(gè)文件應(yīng)該被納入版本控制如Git。當(dāng)你的同事克隆了項(xiàng)目代碼或者你在新電腦上部署項(xiàng)目時(shí)只需要?jiǎng)?chuàng)建虛擬環(huán)境并激活然后運(yùn)行pip install -r requirements.txtpip就會(huì)自動(dòng)安裝文件中列出的所有包及指定版本快速復(fù)現(xiàn)完全一致的開發(fā)環(huán)境。這是項(xiàng)目可復(fù)現(xiàn)性的關(guān)鍵。6.3 集成終端與外部工具PyCharm的終端默認(rèn)已經(jīng)配置了項(xiàng)目的虛擬環(huán)境非常方便。你還可以配置外部工具比如將flake8代碼檢查或black代碼格式化集成到右鍵菜單中。以black為例首先在虛擬環(huán)境中安裝它pip install black。然后進(jìn)入Settings - Tools - External Tools點(diǎn)擊“”配置如下Name: BlackProgram:$PyInterpreterDirectory$/python這會(huì)指向虛擬環(huán)境的pythonArguments:-m black $FilePath$Working directory:$ProjectFileDir$配置好后在項(xiàng)目文件上右鍵選擇“External Tools - Black”即可自動(dòng)格式化代碼。這比手動(dòng)運(yùn)行命令更快捷。7. 避坑指南從熱詞看典型環(huán)境問題你提供的熱詞列表簡直就是一部“開發(fā)環(huán)境血淚史”。我們來分析幾個(gè)典型問題并給出解決方案這能幫你未來少走彎路。7.1 “無法識(shí)別”類錯(cuò)誤npm,claude,opencode錯(cuò)誤信息如無法將“npm”項(xiàng)識(shí)別為 cmdlet、函數(shù)、腳本文件或可運(yùn)行程序的名稱。根本原因系統(tǒng)在環(huán)境變量PATH中找不到該命令對(duì)應(yīng)的可執(zhí)行文件。Python場景下的對(duì)應(yīng)問題在未激活虛擬環(huán)境或未正確安裝Python時(shí)輸入python或pip就會(huì)看到類似錯(cuò)誤。解決方案檢查安裝確認(rèn)Python是否已成功安裝。檢查PATH確認(rèn)安裝時(shí)是否勾選了“Add to PATH”或手動(dòng)添加是否正確。在終端輸入echo %PATH%Windows CMD或echo $PATHmacOS/Linux可以查看當(dāng)前PATH。重啟終端修改PATH后需要關(guān)閉所有舊的終端窗口重新打開一個(gè)新的。使用絕對(duì)路徑臨時(shí)可以使用完整路徑來執(zhí)行如C:\Python38\python.exe --version。7.2 版本沖突與路徑混淆熱詞中提到了python3.8系統(tǒng)入門和vscode配置python開發(fā)環(huán)境這引申出一個(gè)常見問題系統(tǒng)中有多個(gè)Python如Anaconda裝的、官網(wǎng)裝的、系統(tǒng)自帶的命令該聽誰的解決方案Windows使用py啟動(dòng)器。py -3.8明確使用3.8版本py -3.9使用3.9版本。使用虛擬環(huán)境這是最根本的解決方案。在虛擬環(huán)境中python命令唯一指向該環(huán)境自己的解釋器。檢查當(dāng)前Python在終端輸入where pythonWindows或which pythonmacOS/Linux可以查看當(dāng)前python命令實(shí)際指向哪個(gè)路徑。7.3 PyCharm特定問題激活、中文與項(xiàng)目運(yùn)行pycharm激活社區(qū)版完全免費(fèi)無需激活。如果使用專業(yè)版請(qǐng)通過JetBrains官方渠道購買許可證或申請(qǐng)教育許可。不討論非授權(quán)激活方式。pycharm怎么改成中文在Plugins市場中搜索 “Chinese (Simplified) Language Pack”安裝并重啟PyCharm即可。運(yùn)行bat命令行隱藏窗口這可能是想在Windows下通過Python運(yùn)行一個(gè)批處理腳本。可以使用subprocess庫并設(shè)置creationflagssubprocess.CREATE_NO_WINDOW來隱藏命令行窗口。但更常見的需求是打包Python腳本為exe后不顯示黑框這需要在打包工具如PyInstaller中設(shè)置--noconsole參數(shù)。github上的項(xiàng)目怎么運(yùn)行通用步驟是1. Clone項(xiàng)目到本地。2. 查看項(xiàng)目根目錄是否有requirements.txt或pyproject.toml或setup.py。3. 為該項(xiàng)目創(chuàng)建一個(gè)新的虛擬環(huán)境。4. 激活環(huán)境運(yùn)行pip install -r requirements.txt安裝依賴。5. 查看項(xiàng)目的README.md尋找運(yùn)行指令通常是python main.py或python run.py。7.4 操作系統(tǒng)與權(quán)限問題以管理員身份運(yùn)行cmd當(dāng)你需要安裝全局Python包不推薦或操作受保護(hù)的系統(tǒng)目錄時(shí)可能需要。但對(duì)于虛擬環(huán)境內(nèi)的操作通常不需要管理員權(quán)限。程序“claude.exe”無法運(yùn)行: 指定的可執(zhí)行文件不是此操作系統(tǒng)平臺(tái)的有效應(yīng)用程序這通常是嘗試在錯(cuò)誤架構(gòu)的系統(tǒng)上運(yùn)行程序如在ARM Mac上運(yùn)行x86 Windows程序。在Python環(huán)境搭建中要確保下載的Python安裝包與你的操作系統(tǒng)Windows/macOS和架構(gòu)64位/32位匹配。在要求的應(yīng)用程序庫或文件中檢測到錯(cuò)誤這可能是安裝包損壞、系統(tǒng)缺少運(yùn)行時(shí)庫如VC Redistributable for Visual Studio或殺毒軟件干擾所致。重新下載安裝包暫時(shí)關(guān)閉殺毒軟件并以管理員身份運(yùn)行安裝程序試試。搭建一個(gè)堅(jiān)實(shí)的Python開發(fā)環(huán)境是高效編碼的第一步也是避免日后無數(shù)詭異問題的基石。我的習(xí)慣是每開始一個(gè)全新項(xiàng)目第一件事不是寫代碼而是打開終端python -m venv venv然后打開PyCharm將這個(gè)venv文件夾指定為項(xiàng)目解釋器。這個(gè)流程已經(jīng)成了肌肉記憶。記住把環(huán)境管理好你的代碼世界就清凈了一半。當(dāng)你能清晰地解釋虛擬環(huán)境的作用能熟練地用requirements.txt復(fù)現(xiàn)環(huán)境時(shí)你就已經(jīng)超越了大部分懵懂的初學(xué)者。接下來就是在這個(gè)干凈、穩(wěn)定的沙箱里盡情構(gòu)建你的程序世界了。如果在后續(xù)使用中遇到任何環(huán)境相關(guān)的問題不妨先回到這幾個(gè)核心點(diǎn)檢查Python解釋器路徑對(duì)了嗎虛擬環(huán)境激活了嗎需要的包安裝了嗎很多時(shí)候答案就在其中。