python venv 創建虛擬環境 復制虛擬環境


python中用於創建和管理虛擬環境的包是venv,在終端中執行下面命令會在當前路徑下創建名字為new_dir的與python版本相同的虛擬環境,如果系統中有多個python版本,應當按需指定。所創建的虛擬環境new_dir只包含原生python庫,不包含python路徑下安裝的依賴包

$ python -m venv new_dir
$ python3 -m venv new_dir

執行下面命令將激活虛擬環境new_dir,

source new_dir/bin/activate

終端中的提示符前面將出現 (new_dir)的字樣,例如,

$ source new_dir/bin/activate
(new_dir)$ python
>>> import sys
>>> sys.path
>>>

在此環境中,使用pip安裝依賴包只對當前環境做出修改。

(new_dir)$ pip install numpy

 

被創建的虛擬環境new_dir只包含原生python庫,然而我們想要創建一個擁有與原python相同的依賴包的環境,有2種實現方式:使用pip重新安裝依賴包以及使用virtualenv-clone復制虛擬環境。

 

  • 使用pip重新安裝依賴包:

pip freeze 導出原python的依賴包信息 requirement.txt,然后在new_dir環境中重新安裝,或者對requirement.txt中包的版本號做修改后再重新安裝。這種方式會重新下載依賴包,占用了網絡帶寬。

$ pip freeze > requirements.txt
$ cat requirements.txt
scikit-learn==0.21.3
scipy==1.3.1
scs==2.1.1.post2
simplejson==3.17.0
six==1.12.0
sympy==1.5.1

$ source new_dir/bin/activate
(new_dir)$ pip install -r requirements.txt
$...
  • 使用virtualenv-clone復制虛擬環境

virtualenv-clone是一個python包,virtualenv-clone dir1 new_dir2,表示復制虛擬環境dir1來創建new_dir2

$ pip install virtualenv-clone
$ virtualenv-clone dir1 new_dir2

 



requirements.txt


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM