取代Pipenv,Python更好的虛擬環境和依賴庫管理:Poetry

Pipenv之前介紹過這個虛擬環境和依賴庫管理,感覺還不錯,Pipenv有也有不少缺點,比如lock慢,win支持不好,bug多等。然後有人推薦我了Poetry。他可以取代Pipenv,於是,“移情別戀”的我,找到了Python更好的虛擬環境和依賴庫管理:Poetry。

我已經轉向 poetry 了,poetry 大法就是好!

poetry 比 pipenv 在各種角度上好用很多,poetry 生成的 lock 是跨平臺的,也就是說你在 windows 下面生產的 lock 文件不需要擔心在 linux 下面會生成不一樣的 lock 文件(當然換行符的問題還是存在)

poetry 在安裝依賴的時候,就像他的 readme 一樣,一般會保證你安裝的依賴沒有版本衝突問題,但 pipenv 就是單純的像 pip 一樣安裝所有依賴,然後把版本寫死而已。

什麼是Poetry

Poetry 和 Pipenv 類似,是一個 Python 虛擬環境和依賴管理工具,它還提供了包管理功能,比如打包和發佈。你可以把它看做是 Pipenv 和 Flit 這些工具的超集。它可以讓你用 Poetry 來同時管理 Python 庫和 Python 程序。

主頁:https://poetry.eustace.io/

源碼:https://github.com/sdispater/poetry

文檔:https://poetry.eustace.io/docs

取代Pipenv,Python更好的虛擬環境和依賴庫管理:Poetry

示例

安裝方法:

安裝方法基本上比較簡單:

<code>curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python/<code>

pip 安裝

<code>pip install --user poetry/<code>

測試是否安裝成功

<code>poetry --version      /<code>

Python中使用poetry

poetry是使用 pyproject.toml 管理依賴列表和項目的各種meta信息,

<code>poetry init                                    如果在已有的項目中使用來創建一個pyproject.toml文件

poetry new              使用poetry創建一個新依賴管理項目

poetry install 創建虛擬環境 (確保當前目錄存在pyproject.toml文件)

poetry shell 激活虛擬環境

poetry run python -V                                查看python版本

poetry update                                            更新所有鎖定版本的依賴

poetry update                      更新某個指定的依賴

poetry remove                     卸載刪除一個模塊

poetry env use python3.7                       讓poetry使用python3

#其他還有:
poetry show\t\t\t\t\t\t\t\t\t追蹤 & 更新包

poetry show --tree\t\t 添加--tree 參數選項可以查看依賴關係:/<code>

注意事項

設置 PyPI 鏡像源,以豆瓣提供的 PyPI 鏡像源為例,前面我們講過了的 pyproject.toml ,你需要在 pyproject.toml 文件里加入這部分內容:

<code>[[tool.poetry.source]]
name = "douban"
url = "https://pypi.doubanio.com/simple/"/<code>

當然,你還是可以選擇繼續使用 virtualenv 和 pip 這些基礎工具,直到有一個更完美的解決方案出現。不過,我其實願意選擇試試新東西,繼續努力折騰。

好了,就這麼多啦,我是迷神,更多精彩python內容,可以關注我哦,有問題也可以評論哦。


分享到:


相關文章: