在 PyCharm 中創建虛擬環境是一個非常直接的過程,可以幫助你管理項目依賴,確保不同項目之間的依賴不會沖突。
通過 PyCharm 創建虛擬環境
-
打開 PyCharm?并選擇或創建一個項目。
-
打開項目設置:
-
在 Windows/Linux 上,可以通過點擊?
File
?>?Settings
。 -
在 macOS 上,可以通過點擊?
PyCharm
?>?Preferences
。
-
-
選擇 Python 解釋器:
-
在設置窗口中,選擇?
Project: <YourProjectName>
?>?Python Interpreter
。
-
-
創建虛擬環境:
-
點擊齒輪圖標(位于 Python 解釋器選擇框旁邊),選擇?
Add
。 -
在彈出的窗口中,你可以選擇虛擬環境的類型,如下
-
這幾個選項有什么區別?
以下是幾種常見的虛擬環境工具(Virtualenv、Conda、System Interpreter、Pipenv、Poetry)的區別和特點總結:
1. Virtualenv
-
核心功能:
-
創建獨立的 Python 環境,隔離全局環境。
-
僅支持 Python,依賴?
pip
?安裝包。
-
-
特點:
-
輕量級,專注于 Python 包隔離。
-
需要手動激活和管理環境(
source venv/bin/activate
)。 -
依賴通過?
requirements.txt
?管理。
-
-
適用場景:
-
簡單的 Python 項目,不需要復雜依賴管理。
-
2. Conda
-
核心功能:
-
跨平臺包和環境管理工具,支持多語言(Python、R、C/C++等)。
-
可管理 Python 版本和非 Python 依賴(如科學計算庫的二進制文件)。
-
-
特點:
-
內置包管理器(
conda install
),解決依賴沖突能力更強。 -
提供預編譯的二進制包(適合科學計算場景,如 NumPy、TensorFlow)。
-
獨立于系統 Python,可管理多個 Python 版本。
-
-
適用場景:
-
數據科學、機器學習項目,依賴復雜或需要跨語言支持。
-
3. 系統解釋器(System Interpreter)
-
核心功能:
-
直接使用操作系統全局安裝的 Python 環境。
-
-
特點:
-
所有項目共享同一環境,容易導致依賴沖突。
-
無需額外工具,但缺乏隔離性。
-
-
適用場景:
-
簡單腳本或臨時測試(不推薦用于正式項目)。
-
4. Pipenv
-
核心功能:
-
結合?
Virtualenv
?+?pip
?+ 依賴管理工具。 -
自動生成?
Pipfile
?和?Pipfile.lock
,管理依賴版本和哈希。
-
-
特點:
-
提供依賴鎖定和確定性構建(類似?
package-lock.json
)。 -
支持自動激活虛擬環境(通過?
pipenv shell
)。 -
官方推薦但逐漸被 Poetry 取代。
-
-
適用場景:
-
需要簡化依賴管理的 Python 項目。
-
5. Poetry
-
核心功能:
-
集依賴管理、虛擬環境、打包發布于一體。
-
使用?
pyproject.toml
?統一配置(遵循 PEP 621 標準)。
-
-
特點:
-
自動解析依賴版本,生成?
poetry.lock
?文件。 -
支持打包和發布到 PyPI。
-
更現代化的工具鏈,替代 Pipenv。
-
-
適用場景:
-
需要規范依賴管理、打包和發布的 Python 項目。
-
6.對比表格
工具 | 語言支持 | 依賴管理 | 環境隔離 | 包管理 | 核心優勢 |
---|---|---|---|---|---|
Virtualenv | Python | requirements.txt | ?? | pip | 輕量級,純 Python 隔離 |
Conda | 多語言 | environment.yml | ?? | conda | 跨語言依賴管理,科學計算友好 |
系統解釋器 | Python | 全局依賴 | ? | pip | 無需配置,但風險高 |
Pipenv | Python | Pipfile | ?? | pipenv | 依賴鎖定,自動環境管理 |
Poetry | Python | pyproject.toml | ?? | poetry | 依賴管理 + 打包發布一體化 |
7.選擇建議
-
簡單項目?→ Virtualenv 或系統解釋器(慎用)。
-
科學計算/復雜依賴?→ Conda。
-
現代 Python 開發?→ Poetry(推薦)或 Pipenv。
-
需要打包發布?→ Poetry。