pipenv使用

前言

最近用了pipenv感覺挺不錯(cuò)的,寫篇博文來推廣一下。

一、優(yōu)點(diǎn)

  1. 自動關(guān)聯(lián)項(xiàng)目相關(guān)的virtualenv,能夠快速的加載virtualenv。
  2. 提供的pipenv替代pip并自帶一個(gè)依賴清單Pipfile,和依賴鎖定Pipfile.lock。
  3. 其中Pipfile除了依賴清單還支持固定pypi源地址,固定python版本。
  4. Pipfile還支持dev依賴清單.pipenv install的包會強(qiáng)制使用Pipfile中的源.
  5. 解決了pip install pandas時(shí)里的numpy依舊走官方pypi.
  6. 還有就是可以直接切換python2,3
  7. 使用pipenv graph命令可以看到依賴樹

二、缺點(diǎn)

  1. windows上切入virtualenv,命令行開頭無virtualenv名字。
  2. Pipfile中的pypi源無法默認(rèn)設(shè)置,造成每次都需要手動修改。
  3. pipenv終究用的是virtualenv,無法像nvm這種做到python管理。
  4. python2,3切換時(shí)是刪除上次的virtualenv,所以每次切換都要重新安裝依賴。
  5. pipenv uninstall無法以依賴樹的關(guān)系進(jìn)行卸載。

三、快速使用

安裝

pipenv作為一個(gè)python包,最快的安裝方案當(dāng)然是。

pip install pipenv

注意linux可能沒有權(quán)限,如果有直接的系統(tǒng)包建議安裝系統(tǒng)包

sudo pip install pipenv

原有項(xiàng)目使用

打開項(xiàng)目目錄控制臺執(zhí)行下面命令

# use python2
pipenv --two

# use python3
# pipenv --three

# use source doubanio
sed -i s/pypi.python.org/pypi.doubanio.com/g Pipfile

# install old packages
pipenv install -r requirements.txt

其中pipenv --two或者pipenv --three代表創(chuàng)建虛擬環(huán)境和Pipfile文件。

但是不安裝依賴,然后通過sed修改pypi源,

默認(rèn)設(shè)置Pipfile文件,我提了issues.

但是@kennethreitz,關(guān)閉了該issues,并且說了

not in scope

看來是不會有了。

然后就是進(jìn)入與退出virtualenv

# 進(jìn)入
pipenv shell

# 退出
exit

還有一個(gè)pipenv run的可以直接執(zhí)行virtualenv環(huán)境下的命令。

新項(xiàng)目使用

# use python2
pipenv --two

# use python3
# pipenv --three

# use source doubanio
sed -i s/pypi.python.org/pypi.doubanio.com/g Pipfile

依舊是換源,接下來只需要pipenv installpipenv install -d,來替代pip install即可。

pipenv --help

Usage: pipenv [OPTIONS] COMMAND [ARGS]...

Options:
  --update         升級 pipenv, pip 到最新.
  --where          輸出項(xiàng)目的目錄信息.
  --venv           輸出 virtualenv 的目錄信息.
  --py             輸出 Python 解析器的路徑.
  --envs           輸出環(huán)境變量的設(shè)置.
  --rm             刪除當(dāng)前 virtualenv.
  --bare           Minimal output.
  --completion     Output completion (to be evald).
  --man            顯示使用手冊.
  --three / --two  使用 Python 3/2 來創(chuàng)建 virtualenv
  --python TEXT    直接指定 Python 解析器.
  --site-packages  拷貝系統(tǒng) site-packages 到 virtualenv.
  --jumbotron      An easter egg, effectively.
  --version        顯示版本信息并退出.
  -h, --help       顯示當(dāng)前信息并退出.

Commands:
  check      檢查安全漏洞和反對 PEP 508 標(biāo)記在Pipfile提供.
  graph      顯示當(dāng)前依賴關(guān)系圖信息.
  install    安裝提供的包,并加入 Pipfile 的依賴清單中
  lock       生成 Pipfile.lock.
  open       在編輯器(vim)查看一個(gè)特定模塊.
  run        在 virtualenv 中執(zhí)行命令.
  shell      切換到 virtualenv 中.
  uninstall  刪除提供的包,并清理 Pipfile 的依賴清單中.
  update     卸載當(dāng)前所以依賴,然后安裝最新包

原文地址

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 譯者按:原文寫于2011年末,雖然文中關(guān)于Python 3的一些說法可以說已經(jīng)不成立了,但是作為一篇面向從其他語言...
    EarlGrey閱讀 69,857評論 7 124
  • Python為主流開發(fā)語言, 用python 開發(fā)的程序越來越多。 方便的是大多l(xiāng)inux系統(tǒng)里面都默認(rèn)集成了py...
    53921f46e0b9閱讀 64,621評論 3 18
  • # Python 資源大全中文版 我想很多程序員應(yīng)該記得 GitHub 上有一個(gè) Awesome - XXX 系列...
    aimaile閱讀 26,823評論 6 427
  • 1. 介紹 首先讓我們來看看TensorFlow! 但是在我們開始之前,我們先來看看Python API中的Ten...
    JasonJe閱讀 11,975評論 1 32
  • 雖說是“人在江湖飄,哪能不挨刀?!?但挨挨別人的刀子也就罷了,更可怕的是自己也要捅自己幾個(gè)大窟窿,明明痛不欲生的時(shí)...
    偌大閱讀 653評論 0 0

友情鏈接更多精彩內(nèi)容