例如:
cd ~/文件/PythonWeb
(你可以先用 ls 確認裡面有你的程式碼)
python3 -m venv venv
這會在當前資料夾建立一個名為 venv 的資料夾,裡面是隔離的 Python 環境。
source venv/bin/activate
成功的話,終端機會出現 (venv),像這樣:
(venv) adamliao@ChundeMac-mini PythonWeb %
which python
which pip
應該會看到:
.../PythonWeb/venv/bin/python
.../PythonWeb/venv/bin/pip
pip install requests
cd ~/文件/PythonWeb
source venv/bin/activate
虛擬環境只是 Python 幫你建立的一組目錄結構(通常是 venv 資料夾),裡面包含:
獨立的 Python 執行檔
安裝的套件(在 site-packages)
pip, setuptools 等工具
這些不會影響系統或其他專案,也不會有背景程式在跑。
rm -rf venv
這會把 venv 整個資料夾刪除掉(注意沒有回收站機制,請小心執行)。
如果你的 .vscode/settings.json 有指定虛擬環境,刪除後記得更新或刪掉那一段,不然 VSCode 會找不到對應的 Python。
如果未來要重新建立虛擬環境,只要重新執行:
python3 -m venv venv
source venv/bin/activate
要在進入虛擬環境時執行
建議把已安裝的套件輸出成一份清單,日後好複製環境:
pip freeze > requirements.txt
若要在另一台或重新建立 venv 時復原:
pip install -r requirements.txt
請照以下步驟操作:
cd ~/文件/PythonWeb
source venv/bin/activate
你會看到 (venv) 出現在指令前面。
pip freeze > requirements.txt
這會把目前虛擬環境中所有套件與版本寫入 requirements.txt(就在 PythonWeb/ 裡)
你可以用這行確認:
cat requirements.txt
matplotlib==3.8.2
numpy==1.26.4
Pillow==11.1.0
如果裡面仍然出現像:
wheel @ file:///usr/local/Cellar/python...
那就表示你 不是在虛擬環境內執行的 pip freeze,請再次確認你有 source venv/bin/activate。
which pip
應該得到:
/Users/adamliao/文件/PythonWeb/venv/bin/pip
你也可以在 VSCode 終端機中用內建 Python 解譯器(已設定虛擬環境的情況下)執行 !pip freeze 來確保是對應當前環境。