Python pipenv


 

pipenv都包含什么?

pipenv 是 Pipfile 主要倡導者、requests 作者 Kenneth Reitz 寫的一個命令行工具,主要包含了Pipfile、pip、click、requests和virtualenv。Pipfile和pipenv本來都是Kenneth Reitz的個人項目,后來貢獻給了pypa組織。Pipfile是社區擬定的依賴管理文件,用於替代過於簡陋的 requirements.txt 文件。

Pipfile的基本理念是:

Pipfile 文件是 TOML 格式而不是 requirements.txt 這樣的純文本。
一個項目對應一個 Pipfile,支持開發環境與正式環境區分。默認提供 default 和 development 區分。
提供版本鎖支持,存為 Pipfile.lock。
click是Flask作者 Armin Ronacher 寫的命令行庫,現在Flask已經集成了它。

 

關於虛擬環境

作為python的開發者,在真正的開發需求完成並測試好之后,自然需要發布到正式的服務器,此時就會面臨環境問題,假設服務器是一台全新的沒有任何python第三方模塊包,自然沒有版本約束會好一點,但是那么包,也不一定全部記得,一個個手動安裝始終是不現實的;再假設服務器是以前裝好的,自然安裝包之間會有版本問題,本機就算測試再好,在版本問題面前也都是白費。所以,需要一個虛擬的環境,在這個虛擬環境里面模擬出一個跟服務器一模一樣的環境出來。

 

此篇blog的篇幅主要放在講解,以pipenv命令來建立虛擬環境,所以就不在講解之前提到的其他可以使用的其他命令的虛擬環境搭建。

 

搭建虛擬環境

此處樓主以一個明確的新項目需求來一步步解釋一下如何使用。

1、明確項目的目錄並創建

2、進入項目並使用創建虛擬環境

如上,虛擬環境就創建好了,當然也可以使用指定版本的python來創建虛擬環境

pipenv --three 會使用當前系統的Python3創建環境

pipenv --python 3.6 指定某一Python版本創建環境

pipenv shell 激活虛擬環境

pipenv --where 顯示目錄信息
/Users/dandyzhang/pipenv_test

pipenv --venv 顯示虛擬環境信息
/Users/dandyzhang/.local/share/virtualenvs/pipenv_test-xlDg6jo5

pipenv --py 顯示Python解釋器信息
/Users/dandyzhang/.local/share/virtualenvs/pipenv_test-xlDg6jo5/bin/python

此時,可以發現路徑下多了兩個文件

這就是上面解釋的環境配置文件。

 

創建Django項目

此時既然需要創建django項目,需要安裝django包

查看一下pipfile文件

這里面的版本的*表示最新的版本吧

當然也可以安裝指定版本的模塊包:

pipenv install django==1.11 安裝固定版本模塊並加入到Pipfile
pipenv graph 查看目前安裝的庫及其依賴

如果安裝指定的版本的模塊,

再查看一下pipfile

發現當指定安裝版本的時候,模塊的版本就會被記錄再pipfile中,當然是沒有版本要求,可以隨意安裝好之后再檢查版本,一個個添加進去,問題不大。最正式的當然是安裝的時候帶着版本,一了百了。

創建Django項目

django-admin startproject django_test

進入項目內部創建app

使用tree命令會更清晰一點

此時如果在命令行的話,就可以啟動虛擬環境了

 

利用Pycharm開發

當然了,在命令行使用pipenv的虛擬環境做肯定是一件很無語的體驗,可以讓它跟開發工具pycharm完美契合

首先打開此項目在pycharm里面 

上面已經提過如何用命令獲取虛擬環境路徑

先將此虛擬環境添加進pycharm

選擇添加:

選擇已經存在的虛擬環境,粘貼剛剛的虛擬環境路徑到輸入框,選擇bin里面的python或python3.6,點擊確定,此時把虛擬環境添加到pycharm里面了。

多的模塊包是基礎包或者依賴包,可以通過命令

pipenv graph 查看目前安裝的庫及其依賴

最后編輯項目的配置選擇此虛擬環境解析器就好了。

選擇並應用

並且pycharm里面的python console也是依賴虛擬環境的,很方便。

 

補充

這里再補充一點沒有講到的點。

如何模擬創建之前利用其他工具創建好的虛擬環境

首先打開之前的項目,將之前項目的虛擬環境導出到requirements.txt文件

pip freeze > requirements.txt

將requirements.txt文件粘貼到到要創建環境的目錄,執行命令

pipenv install -r requirements.txt

就完美創建虛擬環境了。

 

如何卸載某個包 

pipfile文件內的也會被刪除。

刪除所有軟件包

可以發現pipfile沒有更改。

 

最后的最后打印一下pipenv的命令說明給大家看一下,可以從這邊獲取更多的幫助。

 


免責聲明!

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



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