從javascript到python(二):virtualenv

前序文章《從javascript到python(一):基本環境搭建》中提到了pip和pip3安裝Python的庫,但是問題來了,安裝之後的庫都會放在如:python2.7/site-packages,這也意味着可能出現同一個庫多個版本同時存在的問題。npm中的包管理工具是怎麼解決的?

  • npm 全局安裝的方式
npm install -g XXX  //表示包全局安裝
  • 根據package.json來安裝
npm install

第一種方法安裝的包放在全局的node_moudle中,而後一種方法則把包安裝到每一個項目下面的node_moudle中。後面一種安裝方法我們可以理解爲每一個項目一個單獨的運行環境。

virtualenv實際上也是基於此原理來解決這個問題。具體的說明可以參考廖雪峯的Python3教程,具體的安裝和使用方法,廖雪峯的文檔中已經寫得很清楚了,筆者就不贅述了。建立完成後會有一個venv 文件夾,

clipboard.png
其文件夾目錄結構如下

clipboard.png

我們看到存在大量的軟鏈接實際指向到全局的pip庫的安裝目錄。

requirements.txt文件建立

實際上python 可以建立如npm中的package.json文件。在項目目錄下使用如下指令
pip3 freeze > requirements.txt
即可導出當前環境下的庫文件

clipboard.png

使用
pip3 install -r requirements.txt
可以根據requirements.txt完成庫的安裝

可能的坑

在編寫程序過程中,經常會出現找不到包的情況,這種情況一般是沒有把paython的路徑配置到虛擬環境中,這需要如下圖修改VSCode中的用戶設置,配置成功後會在VS Code下方出現【venv】的字樣

clipboard.png

總結

文章中寫了很多原理的對比理解,建議讀者從原理的角度去理解相關指令,而不是靠強行記憶。技術發展這麼快,你是記不住的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章