1. 程式人生 > >淺談pipreqs組件(自動生成需要導入的模塊信息) 和 virtualenv(虛擬環境)

淺談pipreqs組件(自動生成需要導入的模塊信息) 和 virtualenv(虛擬環境)

部署 信息 進行 方式 情況 vat sha bsp 路徑

一、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(虛擬環境)