2023-02-09-python環境控制(Linux)
前言1
pipenv, virtualenv 和 conda environment 是 Python 環境管理工具,可以幫助您在不同項目中隔離 Python 環境。這三個工具各有其優點和缺點,因此選擇哪個工具取決於您的需求和喜好。
virtualenv(python -m venv venv)
Virtualenv 是一個基礎的 Python 環境管理工具,可以幫助您隔離 Python 環境。Virtualenv 可以很容易地建立虛擬環境,並在該環境中安裝所需的包。Virtualenv 沒有自動生成和管理虛擬環境的功能,因此您需要手動更新和管理環境。Virtualenv 的優點在於它的簡單性,可以滿足您的大多數需求。
安裝
pip install virtualenv
建立環境
- 全新環境
python3 -m venv venv(自行命名環境名)
- 如果要複製其他專案的環境,在完成上一步之後,下以下指令
pip install -r requirements.txt
進入環境
source venv\bin\activate
離開環境
deactivate
複製環境參數
pip freeze > requirements.txt
pipenv(pipenv install )2
pipenv 是一個新的 Python 環境管理工具,它結合了 virtualenv 和 pip 的功能,並提供了一種更直觀的方法來管理 Python 環境和包。目前 python 的官方推薦使用 pipenv 來管理環境。 Pipenv 自動生成和管理虛擬環境,並在環境中安裝所需的包。Pipenv 具有自動生成 Pipfile 和 Pipfile.lock 文件的功能,這些文件可以記錄您的 Python 環境和所安裝的包的版本,以便您可以在任何時候重現環境。對我來說 pipenv 的立即好處是,我不需要自己管理用 python -m 產生的環境。
安裝
pip install pipenv
建立環境
在專案的目錄下
pipenv --python 3.11
pipenv install requests
orpipenv install pytest --dev
進入環境
在專案的目錄下
pipenv run python project.py
orpipenv shell
離開環境
exit
orCtrl+D
複製環境參數
無須任何指令去建立環境參數。這也是他的令一個優點
conda(Conda create venv)
Conda environment 是 Anaconda 提供的 Python 環境管理工具。Conda 可以不僅管理 Python 環境,還可以管理其他語言的環境,例如 R 語言。Conda 具有快速建立和管理虛擬環境的功能,並可以輕鬆安裝需要的套件。Conda 用自己的套件庫,來安裝各種套件,並管理他们的版本。Conda 的主要優勢在于它的速度和穩定性,并且可以輕鬆地管理多種语言的環境。Conda 的穩定性表現在對 data science或人工智能演算方面的套件管理上。如果你的專案會使用到諸如 numpy, scripy, 或 plotly等數據科學家常用的套件,或是你的專案正在開發某個跟人工智能相關的項目,那conda會是你最好的選擇。
安裝
建立環境
- 全新環境
conda create --name environment_name python=3.11
- 複製其他專案的環境
conda env create -f environment.yml
進入環境
conda activate environment_name
離開環境
conda deactivate
複製環境參數
conda env export > environment.yml
結語
總之,Pipenv、virtualenv 和 conda environment 都是優秀的 Python 環境管理工具,您選擇哪個工具取決於您的需求和喜好。如果您需要一個簡單而靈活的環境管理工具,那麼 virtualenv 是一個不錯的選擇。如果您需要更直觀的環境管理方法,那麼 Pipenv 可能是您的最佳選擇。如果您需要快速穩定的環境管理工具,並且需要管理多種語言的環境,那麼 conda environment 是一個很好的選擇。另外,這些套件也會混合使用,您可以用 where python3
來確認您目前的專案正在使用哪個環境。我自己對於要用哪個環境管理工具的原則很簡單,如果要用到大量的科學計算與人工智慧,那我會選用 conda ,否則我就只用 pipenv。