Python - poetry(2)命令介紹


poetry 語法格式

 poetry [-h] [-q] [-v [<...>]] [-V] [--ansi] [--no-ansi] [-n] <command> [<arg1>] ... [<argN>]

 

全局 options

  • --verbose (-v|vv|vvv):增加消息的詳細程度:“-v”表示正常輸出,“-vv”表示更詳細的輸出,“-vvv”表示調試
  • --help (-h):幫助文檔
  • --quiet (-q):靜默模式,不輸出任何內容
  • --ansi:強制 ANSI 輸出
  • --no-ansi:禁用 ANSI 輸出
  • --version (-V):版本號

 

new

通過創建適合大多數項目的目錄結構來啟動新的Python項目

poetry new my-package 

my-package 是路徑

 

默認目錄結構

my-package
├── pyproject.toml
├── README.rst
├── my_package
│   └── __init__.py
└── tests
    ├── __init__.py
    └── test_my_package.py

 

自定義項目名稱

poetry new my-folder --name my-package

 

使用 src 目錄

poetry new --src my-package

 

目錄結構

my-package
├── pyproject.toml
├── README.rst
├── src
│   └── my_package
│       └── __init__.py
└── tests
    ├── __init__.py
    └── test_my_package.py

 

init

如果想在已存在的 Python 項目使用 poetry,可以用 init 命令,poetry 會以交互方式創建 pyproject.toml 文件

poetry init 

我是一只回車沒有自己輸入東西的

 

options

  • --name:包的名稱
  • --description:包的描述
  • --author:包的作者
  • --python:兼容的 Python 版本
  • --dependency:需要具有版本約束的包,格式 foo:1.0.0
  • --dev-dependency:開發需求

生成 pyproject 已有的字段 和 options 是可以對齊的

 

install

從當前項目讀取 pyproject.toml 文件,解析依賴項 [tool.poetry.dependencies] 並安裝它們

poetry install
  • 如果當前目錄中有 poetry.lock 文件,它將使用其中的確切版本,而不是解析它們,這確保使用庫的每個人都將獲得相同版本的依賴項
  • 如果沒有 poetry.lock 文件,poetry 將在依賴項解析后創建一個

 

重點

默認會安裝 [tool.poetry.dependencies] 和 [tool.poetry.dev-dependencies] 下所有強制安裝的(不帶 optional)依賴項

 

--no-dev

不安裝開發依賴項 [tool.poetry.dev-dependencies] 

poetry install --no-dev

 

--remove-untracked

移除 poetry.lock 文件中不再存在的舊依賴項

poetry install --remove-untracked

 

-E|--extras

指定安裝的包

 

--no-root

不要安裝根目錄包

 

update

獲取所有依賴項的最新版本並更新 poetry.lock 文件

poetry update

  

指定依賴項進行更新

poetry update requests toml

 

options

  • --dry-run :輸出操作,但不執行操作
  • --no-dev : 不安裝開發依賴項
  • --lock:不執行安裝,僅更新 poetry.lock 文件

 

add

  • 將所需要的包添加到 pyproject.toml 的 [tool.poetry.dependencies] 下面,並安裝他們
  • 未指定版本的話,則 poetry 會自動選擇合適的版本
poetry add requests pendulum

 

注意

默認不會將包添加到 [tool.poetry.dev-dependencies] 下,若需要得用 --dev 參數

 

指定版本

poetry add pendulum@^2.0.5
poetry add "pendulum>=2.0.5"

 

獲取最新的版本

poetry add pendulum@latest

 

添加 github 依賴項

poetry add git+https://github.com/sdispater/pendulum.git

 

添加 github 依賴項,指定分支

poetry add git+https://github.com/sdispater/pendulum.git#develop
poetry add git+https://github.com/sdispater/pendulum.git#2.0.5

 

通過本地目錄、文件進行安裝

poetry add ./my-package/
poetry add ../my-package/dist/my-package-0.1.0.tar.gz
poetry add ../my-package/dist/my_package-0.1.0.whl

 

以可編輯模式安裝依賴項

在 pyproject.toml 文件指定,意味着本地目錄中的更改會直接反映在環境中

[tool.poetry.dependencies]
my-package = {path = "../my/path", develop = true}

 

options

  • --dev (-D):將包添加為開發依賴項
  • --path:指定依賴項的路徑
  • --optional:作為可選依賴項添加
  • --dry-run:輸出操作,不執行任何操作
  • --lock:不執行安裝,僅更新 poetry.lock 文件

 

remove

從已安裝包列表刪除指定包

poetry remove pendulum

 

options

  • --dev(-D):從開發依賴項中刪除包
  • --dry-run:輸出操作,不執行任何操作

 

show

根據 poetry.lock 列出所有可用的軟件包,並不是根據 pyproject.toml 文件的 [tool.poetry.dependencies] 

poetry show

 

查看某個包的詳細信息

poetry show fastapi  

 

options

  • --no-dev:不要列出開發依賴項

  • --tree:樹的形式列出依賴項

  • --latest (-l):顯示最新版本

  • --outdated (-o):顯示最新版本,但僅適用於過時的軟件包

 

run

在項目的 virtualenv 中執行指定的命令

poetry run python -V

 

還可以執行 pyproject.toml 中定義的腳本

[tool.poetry.scripts]
my_script = "my_module:main"

 

執行

poetry run my_script

 

shell

顯式激活當前虛擬環境,會自動調用虛擬環境下的激活命令

 

如果不存在虛擬環境,會自動創建一個

 

check

驗證 pyproject.toml 文件的結構,並在出現任何錯誤時返回詳細報告

poetry check

 

search

在遠程庫上搜索包

poetry search requests

 

lock

將所有依賴項鎖定為最新的可用兼容版本

poetry lock

 

version

顯示項目的當前版本

是 pyproject.toml 文件的 version 哦

 

export

將鎖文件導出為其他格式

poetry export -f requirements.txt --output requirements.txt

 

options

  • --format (-f):要導出的格式(默認值:requirements.txt)目前,僅支持requirements.txt
  • --output (-o):輸出文件的名稱,如果省略,則打印到標准輸出
  • --dev(-D):從開發依賴項中刪除包
  • --extras (-E):要包含的額外依賴項集
  • --without-hashes:從導出的文件中排除散列
  • --with-credentials:包括用於額外索引的憑據

 

env

管理虛擬環境,具體教程看:https://www.cnblogs.com/poloyy/p/15270670.html

 

cache

與 poetry 緩存交互

 

cache list

列出 poetry 的可用緩存

 

build

打包並構建 python 工程

 

publish

將使用 build 命令生成的包發布到遠程存儲庫(Pypi)

 

options

  • --repository (-r):要將包注冊到的存儲庫(默認值:pypi)應與config命令設置的存儲庫名稱匹配
  • --username (-u):訪問存儲庫的用戶名
  • --password (-p):訪問存儲庫的密碼
  • --dry-run:執行除上傳包以外的所有操作
  • --build:先 build 再 pubilish,可以不用執行 poetry build 命令

 

config

編輯 poetry 配置項,具體可看:https://www.cnblogs.com/poloyy/p/15269573.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM