第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 pyproject.toml 中指定命令行腳本

在 pyproject.toml 中指定命令行腳本

縹緲止盈 2023-05-09 14:48:39
我正在嘗試將 pyproject.toml 添加到一直在使用 setup.py 的項目中,以便啟用 pipx 的支持。我想指定項目包含在 pyproject.toml 中的命令行腳本,但我能找到的所有指南都提供了詩歌的使用說明,我沒有使用。我也不想指定模塊的入口點——我已經(jīng)有了可用的命令行腳本,只想指定它們。pyproject.toml 中是否有適當?shù)奈恢脕碇付钚心_本?不確定這是否重要,但有問題的包裹是cutlet。
查看完整描述

2 回答

?
一只名叫tom的貓

TA貢獻1906條經(jīng)驗 獲得超3個贊

2022 年 7 月更新:如果您的 TOML 文件使用 setuptools 作為其構(gòu)建系統(tǒng),setuptools 將愉快地創(chuàng)建和安裝命令行腳本。例如,我的pyproject.toml文件是這樣開頭的:


[build-system]

requires = ["setuptools>=61.0"]

build-backend = "setuptools.build_meta"

pyproject.toml使用這樣的條目擴展您的文件,命名包、模塊和入口點函數(shù)名稱:


[project.scripts]

my-client = "my_package.my_module:main_cli"

然后運行安裝序列:


pip3 install .

setuptools 將在我的 Py3.9 虛擬環(huán)境的 bin 目錄 (~/.virtualenvs/py39/bin) 中為我安裝一個在適當位置命名的 shell 腳本my-client。


我在做類似的事情,升級一個有 的包setup.py,雖然我沒有現(xiàn)有的腳本。重寫為 usingpyproject.toml我完全刪除了舊setup.py文件。


FWIW 我意識到 OP 要求安裝現(xiàn)有腳本的方法,但我沒有提供。這個答案告訴 setuptools 創(chuàng)建和安裝新腳本。


2023 年 2 月更新:感謝所有投票。如果您正在偷工減料以滿足任意管理截止日期,只需復制粘貼此短pyproject.toml文件并進行調(diào)整:


[build-system]

requires = ["setuptools>=61.0"]

build-backend = "setuptools.build_meta"


[project]

name = "my_client"

version = "1.2.3"

authors = [{name="Ubr Programmer", email="ubr@gmailington.com" }]

description = "Client for my awesome system"

readme = "README.md"

dependencies = ["cachetools","requests"]

requires-python = ">=3.9"


[project.scripts]

my-client = "my_package.my_module:main_cli"


[project.urls]

"Homepage" = "https://github.com/your_name_here/something"

"Bug Tracker" = "https://github.com/your_name_here/something/issues"


查看完整回答
反對 回復 2023-05-09
?
青春有我

TA貢獻1784條經(jīng)驗 獲得超8個贊

pyproject.toml 中是否有適當?shù)奈恢脕碇付钚心_本?

PEP566?(Metadata 2.1) 只定義了Core metadata specifications。因此,答案取決于您的構(gòu)建系統(tǒng)(注意:PEP518 定義了構(gòu)建系統(tǒng)概念)。

如果您使用現(xiàn)有的構(gòu)建工具,例如setuptools、poetryflit,您只能考慮在pyproject.toml中添加此類選項,前提是該工具支持pyproject.toml中的命令行腳本 (?console_scripts)。當然,如果你有自己的構(gòu)建工具,你需要實現(xiàn)一個解析器來解析pyproject.toml中的命令行腳本。

最后,您可以查看以下列表以了解哪些主要構(gòu)建系統(tǒng)支持pyproject.toml中的命令行腳本 (?console_scripts)?(2020/Oct):

  • 設置工具:根據(jù)PEP621尚未實施

  • poetry:是的,這是實現(xiàn)的一部分。

  • flit:是的。


查看完整回答
反對 回復 2023-05-09
  • 2 回答
  • 0 關(guān)注
  • 617 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號