將命令列指令碼新增到 python 包中

python 包中的命令列指令碼很常見。你可以按照以下方式組織程式包:當使用者安裝程式包時,指令碼將在其路徑中可用。

如果你有 greetings 包,其中包含命令列指令碼 hello_world.py

greetings/
   greetings/
      __init__.py
      hello_world.py

你可以通過執行來執行該指令碼:

python greetings/greetings/hello_world.py

但是,如果你想像這樣執行它:

hello_world.py

你可以通過在 setup.py 中新增 scripts 來實現這一目標,如下所示:

from setuptools import setup
setup(
  name='greetings',
  scripts=['hello_world.py']
)

現在安裝問候語包時,hello_world.py 將新增到你的路徑中。

另一種可能性是新增一個入口點:

entry_points={'console_scripts': ['greetings=greetings.hello_world:main']}

這樣你只需執行它:

greetings