淺談pipreqs組件(自動生成需要導入的模塊信息) 和 virtualenv(虛擬環境)
一、pipreqs組件
pipreqs的作用
一起開發項目的時候總是要搭建環境和部署環境的,這個時候必須得有個python第三方包的list,一般都叫做requirements.txt。 如果一個項目使用時virtualenv環境,還好辦 pip freeze 就可以解決,但是如果一個項目的依賴list沒有維護,而且又是環境混用,那就不好整理的呀,不過,這裏安利一個工具 pipreqs,可以自動根據源碼生成 requirements.txt .
pip freeze命令
$ pip freeze > requirements.txt
這種方式配合virtualenv 才好使,否則把整個環境中的包都列出來了。
pipreqs的安裝
pip install pipreqs
pipreqs的使用
生成requirements.txt文件
使用方式也比較簡單,直接進入項目下然後使用 pipreqs ./ 命令即可,如:
pipreqs ./
有可能會報如下錯誤:
這是由於編碼問題所導致的,加上encoding參數即可,如下:
pipreqs ./ --encoding=utf-8
安裝requirements.txt文件中的模塊
直接用下面命令就可以將文件中所有的模塊一次性安裝了
安裝依賴文件:pip3 install -r requirements.txt
二、 virtualenv簡介
virtualenv為應用提供了隔離的Python運行環境,解決了不同應用間多版本的沖突問題。
例如:
如果我們要同時開發多個應用程序,那這些應用程序都會共用一個Python,就是安裝在系統的Python 3。如果應用A需要jinja 2.7,而應用B需要jinja 2.6怎麽辦?
這種情況下,每個應用可能需要各自擁有一套“獨立”的Python運行環境。virtualenv就是用來為一個應用創建一套“隔離”的Python運行環境。
安裝
pip3 install virtualenv
基本使用
為一個工程創建一個虛擬環境:
首先:準備對哪個目錄進行虛擬,就先進入到這個目錄下(這裏是c:\PythonProject\nnblog ),然後運行命令:
virtualenv -p c:\Python36\python.exe venv
說明: -p就是python的版本(需要帶上路徑) venv就是虛擬的環境變量(目錄名字)。
如果不需要指定python版本,直接使用命令:
virtualenv venv
激活虛擬環境
需要進入自動創建的文件夾venv裏的script目錄
然後執行activate命令
c:\PythonProject\nnblog>cd venv/Scripts c:\PythonProject\nnblog\venv\Scripts>activate
從現在起,任何你使用pip安裝的包將會放在 venv
文件夾中,與全局安裝的Python隔絕開。
像平常一樣安裝包,比如:
pip install requests
退出虛擬環境
使用deactivate命令即可退出當前虛擬環境
c:\PythonProject\nnblog\venv\Scripts>activate
這將會回到系統默認的Python解釋器,包括已安裝的庫也會回到默認的。
刪除虛擬環境
要刪除一個虛擬環境,只需刪除它的文件夾即可。
淺談pipreqs組件(自動生成需要導入的模塊信息) 和 virtualenv(虛擬環境)