前序文章《從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 文件夾,
其文件夾目錄結構如下
我們看到存在大量的軟鏈接實際指向到全局的pip庫的安裝目錄。
requirements.txt文件建立
實際上python 可以建立如npm中的package.json文件。在項目目錄下使用如下指令pip3 freeze > requirements.txt
即可導出當前環境下的庫文件
使用pip3 install -r requirements.txt
可以根據requirements.txt完成庫的安裝
可能的坑
在編寫程序過程中,經常會出現找不到包的情況,這種情況一般是沒有把paython的路徑配置到虛擬環境中,這需要如下圖修改VSCode中的用戶設置,配置成功後會在VS Code下方出現【venv】的字樣
總結
文章中寫了很多原理的對比理解,建議讀者從原理的角度去理解相關指令,而不是靠強行記憶。技術發展這麼快,你是記不住的。