virtualenv(venv)
這是一個虛擬環境管理器,它可以讓你每個項目甚至每個腳本配置一個自定義的Python解釋器環境,這最大的好處是我可以不污染開發環境。?
pip
pip 是 Python 最常用的包管理器,它能自動處理依賴 。
conda
如果說venv是虛擬環境管理器,pip是包管理器,那么conda則是兩者的結合。
anaconda
Anaconda 是一個基于 Conda 的 Python 發行版,他與conda區別的是,他主要面向數據科學、機器學習和科學計算領域,提供了廣泛的數據處理、分析和可視化工具。譬如他提供了 Anaconda Navigator,一個可視化的界面,用于管理環境、安裝軟件包和啟動應用程序。
Miniconda
它是Anaconda的無界面和預裝包的版本。
venv和conda的區別
- conda虛擬環境是獨立于主環境的,venv不獨立。
意思是無論操作系統解釋器(就是主環境,或者說本機python環境)什么版本,哪怕2.7,我也可以指定conda的python版本為3.10,甚至本機不安裝python,只安裝了conda,我也可以用python3.10。而venv是依賴主環境的,如果本機裝的是py2.7,那么久不可能使用py3.10。 - 包重復問題
使用venv的話,會在項目的文件夾(或者當時創建項目時指定的文件夾)下創建一個單獨的venv文件夾,這個文件夾里會有項目所有需要的包,即使主環境中已經有這個包了。然而conda每個虛擬環境都固定創建在用戶設定的一個位置,這使得多個項目共享一個虛擬環境更加方便。
conda中的包管理和pip的區別
- conda的包管理器做的一般,且會安裝過多依賴。所以我們大部分情況下還是使用pip安裝包。
- 但pip只能安裝Python的包,conda還可以安裝一些不是Python開發的軟件或工具。
- conda提供了圖形化環境,也就是anaconda,這里面集成了jupyter notebook等工具。
- conda能多線程下載,pip只能單線程,下一些比較大的工具時差別比較明顯。
刪除venv的環境
可以打開pycharm,使用venv創建項目,看位置一般默認創建在哪,然后刪掉。
在這里本人以前年少不懂事,以為這個位置是解釋器的位置,就沒有更改過,然后在C盤的用戶目錄下創建了很多個項目(
全部刪掉!
刪除多余的python環境
注意以下列出的法一和法二最好都嘗試一遍。而且先嘗試法一,不然法二嘗試了后,法一可能無法刪除
法一:使用控制面板刪除
法二:命令行查詢python環境位置后手動刪除
可能有些人因為沒有安裝conda,導致要用不同版本的python時,在本機上安裝了很多個python環境,譬如本人(
而且本人之后準備全部使用conda,所以準備將所有python環境都刪掉。于是可以在終端上執行
在 Windows 上:where python
在 macOS 或 Linux 上:which python