欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python項目管理工具Poetry使用示例詳解

 更新時間:2023年09月04日 10:30:14   作者:冷凍工廠  
這篇文章主要為大家介紹了Python項目管理工具Poetry使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

1. 導讀

本文將介紹一個目前十分流行,且用于眾多Python項目中依賴管理打包的工具,包含基本的安裝與使用。

2. Poetry

Poetry 是Python 中用于依賴管理打包的工具。它允許您聲明項目所依賴的庫,并將為您管理(安裝/更新)它們。

Poetry 提供了一個鎖定文件以確??芍貜桶惭b,并且可以構(gòu)建您的項目以進行分發(fā)。

2.1. *toml文件

pyproject.toml可以算是Poetry的核心配置文件了,里面包含了項目的相關(guān)信息,使用的環(huán)境信息,安裝的依賴信息,主要有一下配置:

# 項目包的名字
name = "my-package" 
# 版本
version = "0.1.0"
# 包的描述
description = "A short description of the package."
# 許可證
license = "MIT"
# 作者
authors = ["冷凍工廠 <storyice@163.com>",]
# 維護者
maintainers = ["冷凍工廠 <storyice@163.com>",]
# READMD文件
readme = ["docs/README1.md", "docs/README2.md"]
# 包的介紹主頁
homepage = "https://python-poetry.org/"
# 倉庫地址
repository = "https://github.com/python-poetry/poetry"
# 文檔
documentation = "https://python-poetry.org/docs/"

3. 實戰(zhàn)

3.1. 安裝

在Linux、macOS、Windows (WSL)中安裝Poetry

  • Linux、macOS、Windows (WSL)
curl -sSL https://install.python-poetry.org | python3 -
  • 升級現(xiàn)有Poetry
poetry self update

3.2. 新建項目

  • 創(chuàng)建新的項目
poetry new project-name
# 項目名 與 文件夾名 不同
poetry new folder-name --name project-name
# 使用src項目結(jié)構(gòu)(可選)
poetry new --src project-name
# 初始化已經(jīng)存在的項目
cd project-name-dir
poetry init

3.3. 環(huán)境管理

poetry首先會檢查當前項目是否存在虛擬環(huán)境,如果存在,保持現(xiàn)有環(huán)境,如果沒有,會自動創(chuàng)建一個與當前依賴相匹配的環(huán)境。

  • 選擇項目環(huán)境
poetry env use /full/path/to/python
# 如果解釋器已經(jīng)添加到環(huán)境變量中
poetry env use python3.7
poetry env use 3.7  # 同上,二選一
  • 顯示當前環(huán)境信息
poetry env info

  • 顯示與當前項目相關(guān)的環(huán)境
poetry env list

  • 刪除環(huán)境
poetry env remove /full/path/to/python
# 同時刪除多個環(huán)境
poetry env remove python3.6 python3.7 python3.8
# 一次性刪除全部環(huán)境 
poetry env remove --all

 小編建議設(shè)置下面配置,其作用是將虛擬環(huán)境的文件夾放置于項目文件夾下

poetry config virtualenvs.in-project true

3.4. 依賴管理

使用Poetry進行添加依賴,有兩種方式。一種是在命令行中,直接使用相關(guān)命令來添加依賴,或者刪除依賴。另外一種是,通過修改項目中的pyproject.toml文件,來管理依賴。

  • 命令行管理
# 添加依賴
poetry add <lib>
# 添加dev依賴
poetry add <lib> --dev  # poetry add package-name -D
# 刪除依賴
poetry remove <lib>
# 更新依賴
poetry update
# 鎖定依賴版本
poetry lock
# 列出全部依賴項
poetry show
# 列出陳舊的依賴項
poetry show --outdated
# 搜索指定的包
poetry search <name>
  • 配置文件管理
[tool.poetry]
name = "project-name"
version = "0.1.0"
description = ""
authors = ["Swindler &lt;jzj@1033199817@qq.com&gt;"]
readme = "README.md"
packages = [{include = "project_name"}]

[tool.poetry.dependencies]
python = "^3.8"
# 在此直接添加,如 0.1.0 版本的numpy
numpy = "0.1.0"

# 如果不知道指定的版本,可以用*代替,Poetry會自動選擇合適的版本
numpy = "*"


[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

根據(jù)配置文件更新依賴

poetry update

 依賴的版本指定,支持不等式(簡單易用)

>= 1.2.0
> 1
< 2
!= 1.2.3

3.5. 換源

Poetry也支持換源,加速依賴的下載速度.

  • 清華源
# 將下方配置添加至pyproject.toml末尾即可
[[tool.poetry.source]]
name = "tsinghua-source"
url = "https://pypi.tuna.tsinghua.edu.cn/simple/"
default = true  # 僅從定義倉庫獲取
  • 阿里源
# 將下方配置添加至pyproject.toml末尾即可
[[tool.poetry.source]]
name = "aliyun-source"
url = " http://mirrors.aliyun.com/pypi/simple/"
default = true  # 僅從定義倉庫獲取

3.6. requirement

Poetry也支持requirement.txt操作

  • 導出requirement.txt
poetry export -f requirements.txt --output requirements-prod.txt --without-hashes
  • 導入requirement.txt
cat requirements.txt|xargs poetry add

以上就是Python項目管理工具Poetry使用示例詳解的詳細內(nèi)容,更多關(guān)于Python Poetry項目管理的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python基于Bokeh庫制作子彈圖及瀑布圖示例教程

    python基于Bokeh庫制作子彈圖及瀑布圖示例教程

    這篇文章主要為大家介紹了python基于Bokeh庫制作子彈圖及瀑布圖的實現(xiàn)示例教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2021-10-10
  • 如何用Python從桌面讀取二維碼信息詳解

    如何用Python從桌面讀取二維碼信息詳解

    二維碼作為一種信息傳遞的工具,在當今社會發(fā)揮了重要作用,下面這篇文章主要給大家介紹了關(guān)于如何用Python從桌面讀取二維碼信息的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2021-10-10
  • Python腳本實現(xiàn)自動替換文件指定內(nèi)容

    Python腳本實現(xiàn)自動替換文件指定內(nèi)容

    這篇文章主要為大家詳細介紹了如何編寫一個py腳本,可以實現(xiàn)自定義替換py文件里面指定內(nèi)容,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-03-03
  • python實現(xiàn)Android與windows局域網(wǎng)文件夾同步

    python實現(xiàn)Android與windows局域網(wǎng)文件夾同步

    這篇文章主要給大家詳細介紹了python實現(xiàn)Android與windows局域網(wǎng)文件夾同步,文中有詳細的代碼示例和圖文介紹,具有一定的參考價值,需要的朋友可以參考下
    2023-09-09
  • Python中的localtime()方法使用詳解

    Python中的localtime()方法使用詳解

    這篇文章主要介紹了Python中的localtime()方法使用詳解,是Python入門學習的基礎(chǔ)知識,需要的朋友可以參考下
    2015-05-05
  • Python3操作MongoDB增冊改查等方法詳解

    Python3操作MongoDB增冊改查等方法詳解

    這篇文章主要介紹了Python操作MongoDB增冊改查等方法詳解,需要的朋友可以參考下
    2020-02-02
  • Python字符串對象實現(xiàn)原理詳解

    Python字符串對象實現(xiàn)原理詳解

    這篇文章主要介紹了Python字符串對象實現(xiàn)原理詳解,在Python世界中將對象分為兩種:一種是定長對象,比如整數(shù),整數(shù)對象定義的時候就能確定它所占用的內(nèi)存空間大小,另一種是變長對象,在對象定義時并不知道是多少,需要的朋友可以參考下
    2019-07-07
  • python3.4中清屏的處理方法

    python3.4中清屏的處理方法

    在本篇文章里小編給大家分享的是關(guān)于python3.4中清屏的處理方法,有興趣的朋友們可以跟著學習下。
    2020-07-07
  • python學習筆記之調(diào)用eval函數(shù)出現(xiàn)invalid syntax錯誤問題

    python學習筆記之調(diào)用eval函數(shù)出現(xiàn)invalid syntax錯誤問題

    python是一門多種用途的編程語言,時常扮演腳本語言的角色。一般來說,python可以定義為面向?qū)ο蟮哪_本語言,這個定義把面向?qū)ο蟮闹С趾兔嫦蚰_本語言的角色融合在一起。很多時候,人們常常喜歡用“腳本”和不是語言來描述python的代碼文件。
    2015-10-10
  • Flask框架請求鉤子與request請求對象用法實例分析

    Flask框架請求鉤子與request請求對象用法實例分析

    這篇文章主要介紹了Flask框架請求鉤子與request請求對象用法,結(jié)合實例形式詳細分析了Flask框架請求鉤子與request請求對象相關(guān)原理、用法及操作注意事項,需要的朋友可以參考下
    2019-11-11

最新評論