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
安裝方法:
安裝方法基本上比較簡單:
<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內容,可以關注我哦,有問題也可以評論哦。
閱讀更多 迷神筆記 的文章