程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python包管理工具之pipenv

編輯:Python

微信公眾號:運維開發故事,作者:薑總

前言

傳統的成熟方案中,我們為了避免包版本的管理混亂,通常我們是依賴於當前的Python版本創建一個虛擬環境,並在虛擬環境中使用pip進行包管理。現在有一個好用的工具叫pipenv來幫助我們更方便的管理包。

一、pipenv是什麼以及它有什麼作用?

pipenv是一個Python的包管理工具。它是requests作者Kenneth Reitz的作品,提供Python的各個版本間的管理,各種包管理。當你開始熟悉並且使用它的時候,你就知道它有點類似於前端的npm和yarn的味道。

它能自動為項目創建和管理虛擬環境。當你使用pipenv的時候,他會在項目根目錄下創建Pipfile,用於記錄包的版本信息。當你使用pipenv來安裝包的時候,它會在項目根目錄生成Pipfile.lock文件來鎖定安裝包的版本和依賴信息,避免構建錯誤。

它主要解決了以下幾個問題:

  • 不需要基於當前的Python解釋器版本單獨的創建使用virtualenv和pip工具。

  • 無序維護requirements.txt文件,使用Pipfile和Pipfile.lock來代替

基本概念:

  • 在一個新的項目根目錄下執行 pipenv install,則他會自動創建一個虛擬環境,並且生成一個Pipfile文件

  • 當 install 命令沒有傳遞參數指定安裝包,如果當前存在Pipfile,則會自動安裝所有Pipfile中的[packages]中的包

二、安裝pipenv

# MacOS下
pip install pipenv
# shell命令補全
echo 'eval "$(pipenv --completion)"' >> ~/.zshrc
# Centos7下步驟一樣,只需要將~/.zshrc改成 /etc/profile或者其他環境變量文件即可

三、pipenv優缺點

優點:

  • 自動關聯項目相關的 virtualenv,能夠快速的加載 virtualenv 。

  • 提供的pipenv替代pip並自帶一個依賴清單Pipfile,和依賴鎖定Pipfile.lock。

  • Pipfile除了依賴清單還支持固定pypi源地址,固定python版本。

  • Pipfile還支持dev依賴清單.pipenv install的包會強制使用Pipfile中的源.

  • 使用pipenv graph命令可以看到依賴樹。

  • 可以直接切換python2和python3。

缺點:

  • Windows下命令行終端開頭沒有沒有venv的名稱,讓你不知道是否在虛擬環境中,容易誤操作

  • 永久設置了Pipfile文件中的源以後,Pipfile文件中看到的還是官方源,但是實際上是已經走了你設置的源了。

四、使用pipenv

創建pipenv虛擬環境

# 創建項目目錄
mkdir project1
cd project1
# 可以指定Python版本來創建虛擬環境
pipenv --python 3.10.4
# 由於項目是新建的,所以會自動生成Pipfile和Pipfile.lock文件
pipenv install
# 不進入虛擬環境執行命令,默認只有以下這幾個包,和用virtualenv中時一樣的
$ pipenv run pip list
Package Version
---------- -------
pip 21.3.1
setuptools 59.6.0
wheel 0.37.1
# 激活虛擬環境
pipenv shell
# 安裝包
pipenv install requests
# 查看包的依賴關系
pipenv graph
# 昇級某一個包
pipenv update requests
# 退出虛擬環境
exit
# 刪除虛擬環境。刪除虛擬環境不會刪除項目目錄,只是刪除虛擬環境的目錄
pipenv --rm

五、團隊共享

如果現在在團隊中共享你的項目,比如人員A需要你的項目,他下載項目到本地了,那麼運行項目首先安裝依賴包,那依賴包怎麼解決呢?

mkdir project2
cd project2
# 然後拷貝Pipfile和Pipfile.lock文件到這個目錄下,執行以下命令
pipenv install

這樣就安裝了所有你項目需要的依賴包了

六、PyCharm中怎麼使用Pipenv

首先設置一下你的環境變量

vi ~/.zshrc
# python pipenv
export PATH="$PATH:/Users/allenjol/.local/" >> ~/.zshrc
source ~/.zshrc

打開pycharm,創建一個項目,New environment using選擇Pipenv,創建完成後就進入了Pipenv的環境了。

公眾號:運維開發故事

github:https://github.com/orgs/sunsharing-note/dashboard

愛生活,愛運維

如果你覺得文章還不錯,就請點擊右上角選擇發送給朋友或者轉發到朋友圈。您的支持和鼓勵是我最大的動力。喜歡就請關注我吧~


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved