0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Pipenv - 官方推薦的的python包管理工具

馬哥Linux運(yùn)維 ? 來源:未知 ? 作者:李倩 ? 2018-10-04 15:02 ? 次閱讀

Pipenv- 官方推薦的的python包管理工具。

Pipenv是一款旨在將所有包管理工具(如bundler, composer,npm, cargo, yarn等)的優(yōu)點(diǎn)集中應(yīng)用于python領(lǐng)域中的工具。它對各個(gè)平臺都有很好的支持。

它可以為你的項(xiàng)目自動創(chuàng)建和管理虛擬環(huán)境,并且在你安裝/刪除包時(shí)自動在Pipfile中添加/移除相應(yīng)的包。它同時(shí)生成一個(gè)非常重要的Pipfile.lock文件,來保證所構(gòu)建環(huán)境的確定性。

Pipenv想要解決的問題是多方面的:

你不需要再分別使用pip和virtualenv,在Pipenv中他們一起工作

管理一個(gè)requirements.txt文件會產(chǎn)生很多問題,所以Pipenv用后面會出現(xiàn)的Pipfile和Pipfile.lock將其代替,這在實(shí)際例子中效果會更好。

為了安全性,哈希在多處被使用。自動公開安全漏洞。

讓你通過圖形深入了解當(dāng)前的依賴關(guān)系($ pipenv graph)

通過加載.env文件簡化開發(fā)流程

安裝

Windows環(huán)境:

$ pip install pipenv

如果你使用的是macOS,你可以使用Homebrew安裝:

$ brew install pipenv

用戶的好評

Jannis Leidel, former pip maintainer—

Pipenv是一個(gè)精品,是我一直想將pip打造成的樣子,它符合我的思維習(xí)慣,基本替代了virtualenvwrapper,并減少了很多手動的pip操作。使用它吧!

Justin Myles Holmes—

pipenv最終是一種抽象的概念,它意味著要讓人的頭腦(而不僅僅是文件系統(tǒng))參與其中。

Isaac Sanders

Pipenv是我今天遇到最好的事情。 謝謝,Kenneth!

特性

容易的實(shí)現(xiàn)確定性構(gòu)建,同時(shí)可輕易地指定你想要的內(nèi)容

在鎖定依賴項(xiàng)時(shí),生成并檢查文件的哈希

如果pyenv可用,自動安裝所需要的Python

通過查找Pipfile,遞歸的自動查找你的項(xiàng)目

如果Pipfile不存在,則自動生成一個(gè)

在標(biāo)準(zhǔn)地址自動創(chuàng)建一個(gè)虛擬環(huán)境

當(dāng)包被安裝或者刪除時(shí),自動在Pipfile中修改。

如果.env文件存在,則自動載入

主要命令包括 install,uninstall,以及l(fā)ock(生成Pipfile.lock)。這些命令可以替代$ pip install使用以及對虛擬環(huán)境的手動管理(激活虛擬環(huán)境,只需運(yùn)行$ pipenv shell)

基本概念

當(dāng)虛擬環(huán)境不存在時(shí),會自動創(chuàng)建一個(gè)

當(dāng)沒有參數(shù)傳給 install 時(shí),將安裝所有指定的包

通過 $ pipenv --three,初始化一個(gè)Python3的虛擬環(huán)境

通過$ pipenv --two,初始化一個(gè)Python2的虛擬環(huán)境

其他命令下生成的虛擬環(huán)境都是默認(rèn)設(shè)置

其他命令

shell命令會生成一個(gè)激活了虛擬環(huán)境的shell

run將運(yùn)行輸入到虛擬環(huán)境的命令,并轉(zhuǎn)發(fā)所有參數(shù)(e.g.$ pipenv run python)

check確定當(dāng)前環(huán)境滿足PEP 508的要求

graph將輸出一個(gè)包含當(dāng)前所有已安裝依賴的漂亮圖形

Shell 補(bǔ)全

舉個(gè)例子,使用fish shell,將下列命令加入~/.config/fish/completions/pipenv.fish:

eval (pipenv --completion)

另外,也可以使用bash,將下列代碼加入 .bashrc 或者 .bash_profile:

eval "$(pipenv --completion)"

神奇的shell補(bǔ)全功能現(xiàn)在已經(jīng)可以使用了?。‵ish 是最好的shell,你應(yīng)該使用它)

應(yīng)用

定位項(xiàng)目:

定位虛擬環(huán)境:

定位Python解釋器:

安裝包:

安裝一個(gè)開發(fā)環(huán)境依賴:

展示一個(gè)依賴圖:

生成一個(gè)lockfile:

安裝所有開發(fā)依賴:

卸載全部:

使用shell:

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • python
  • Shell
    +關(guān)注

    關(guān)注

    1

    文章

    360

    瀏覽量

    23234

原文標(biāo)題:Pipenv:官方推薦的python包管理工具

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Linux環(huán)境下如何管理Python包管理工具

    Linux環(huán)境下,需要對軟件包進(jìn)行安裝、卸載、升級和查詢等操作,包含這些操作的工具,稱為包管理工具
    發(fā)表于 08-22 15:14 ?614次閱讀
    Linux環(huán)境下如何<b class='flag-5'>管理</b><b class='flag-5'>Python</b><b class='flag-5'>包管理工具</b>

    77.077 包管理工具 npm搜索包

    模塊管理工具
    充八萬
    發(fā)布于 :2023年07月21日 04:33:37

    75.075 包管理工具 npm介紹與安裝

    模塊管理工具
    充八萬
    發(fā)布于 :2023年07月21日 04:52:00

    81.081 包管理工具 npm全局安裝

    模塊管理工具
    充八萬
    發(fā)布于 :2023年07月21日 04:56:35

    93.093 包管理工具 包管理工具擴(kuò)展介紹

    管理工具
    充八萬
    發(fā)布于 :2023年07月21日 05:03:29

    89.089 包管理工具 yarn的介紹與操作

    代碼管理工具
    充八萬
    發(fā)布于 :2023年07月21日 05:13:49

    90.090 包管理工具 npm與yarn的選擇

    代碼管理工具
    充八萬
    發(fā)布于 :2023年07月21日 05:17:16

    92.092 包管理工具 npm包的更新與刪除

    代碼管理工具
    充八萬
    發(fā)布于 :2023年07月21日 05:18:25

    NPM的nodejs官方包管理工具詳解

    NPM:nodejs官方包管理工具的簡介、安裝、使用方法之詳細(xì)攻略
    發(fā)表于 12-25 10:46

    請問一下golang包管理工具dep怎么使用?

    請問一下golang包管理工具dep怎么使用?
    發(fā)表于 06-15 09:06

    基于Web的集群管理工具CWMS

    針對目前集群管理工具中沒有實(shí)現(xiàn)單一入口或者僅提供命令行交互方式等問題,設(shè)計(jì)并實(shí)現(xiàn)了基于Web的集群管理工具CWMS。分析集群管理系統(tǒng)的體系結(jié)構(gòu),對集中式體系結(jié)構(gòu)加以改進(jìn)
    發(fā)表于 04-15 09:29 ?13次下載

    CANopen網(wǎng)絡(luò)管理工具 V1.18

    CANopen網(wǎng)絡(luò)管理工具 V1.18 網(wǎng)絡(luò)管理工具
    發(fā)表于 11-15 17:12 ?75次下載

    Python包管理工具快速入門

    包管理python這個(gè)Get的重要部分。本文介紹了Python的各個(gè)包管理工具之間的關(guān)系,相信通過這篇文章的介紹,就不會再對distutils、setuptools、distribu
    的頭像 發(fā)表于 02-26 15:34 ?4374次閱讀
    <b class='flag-5'>Python</b>之<b class='flag-5'>包管理工具</b>快速入門

    Python 包管理工具解惑

    發(fā)現(xiàn)最好的資料還是 python官方文檔。下面是閱讀了所有我找到的資料后的一個(gè)總結(jié),希望能幫到幾個(gè)月后又把這些全部忘光的那個(gè)自己。二、python 包管理工具大亂斗我用時(shí)間順序來描
    發(fā)表于 04-02 14:41 ?368次閱讀

    如何安裝Python包管理工具

    第三方庫,Python提供了一些強(qiáng)大的包管理工具。本文將介紹如何安裝Python包管理工具,以便您能夠在Python項(xiàng)目中方便地
    的頭像 發(fā)表于 04-14 12:10 ?1056次閱讀