簡體   English   中英

Python 命令行腳本中“script”與“entry_point”的優缺點

[英]Pros and cons of 'script' vs. 'entry_point' in Python command line scripts

Python 的setuptool有兩種向 Python 包添加命令行腳本的方法: scriptentry_point

本教程概述了這些方法:

scripts

將 Python 腳本 ( funniest-joke ) 添加到包樹,並將其路徑添加到setup.py

setup(
    ...
    scripts=['bin/funniest-joke'],
    ...
)

入口點:

將 Python 腳本 ( funniest-joke ) 添加到包樹中。 向其添加main()函數,並添加運行最有趣的main() command_line.py子模塊:

command_line.py :

import funniest

def main():
    print funniest.joke()

setup.py

setup(
    ...
    entry_points = {
        'console_scripts': ['funniest-joke=funniest.command_line:main'],
    }
    ...
)

每種方法的優缺點是什么?

基本上,腳本是舊方法,它要求您擁有一個獨立的、可執行的腳本文件,並且入口點方法允許您定義在給出命令時要運行的函數。 通過這種方式,您可以在同一個文件/模塊中擁有多個函數,然后擁有“入口點”,當用戶鍵入其中一個console_scripts命令時,將調用該入口點。

盡管 setup() 支持用於指向要安裝的預制腳本的腳本關鍵字,但實現跨平台兼容性的推薦方法是使用 console_scripts 入口點(見下文)。

來自https://packaging.python.org/tutorials/distributing-packages/#scripts舊源

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM