除錯python專案

何太狼發表於2024-05-24

對於開源專案,通常需要除錯來掌握細節。
除錯的方法有很多,pdb,IDE除錯等等。

對於從命令列直接啟動的專案,首先需要找到專案的入口,以open-interpreter為例
其中,--os模式需要在命令列中輸入interpreter --os。這裡的interpreter實際上是一個可執行檔案interpreter.exe
以這種方式執行似乎看不出專案的入口在哪裡。

當安裝一個 Python 包時,特別是那些帶有命令列介面(CLI)的包,安裝過程會建立一個與包名相同的可執行檔案。
這個可執行檔案實際上是一個啟動器,它用於呼叫 Python 直譯器並執行特定的 Python 指令碼。

接下來,我們需要找到啟動器呼叫了哪個Python指令碼。
入口點(Python指令碼)通常定義在setup.py或者pyproject.toml中。

例項:

# setup.py
from setuptools import setup

setup(
    name='interpreter',
    version='0.1',
    packages=['interpreter'],
    entry_points={
        'console_scripts': [
            'interpreter=interpreter:main', #入口點
        ],
    },
)
[tool.poetry.scripts]
interpreter = 'interpreter:main'

開啟open-interpreter的專案,可以找到pyproject.toml中關於入口點的定義:

[tool.poetry.scripts]
interpreter = "interpreter.terminal_interface.start_terminal_interface:main"
i = "interpreter.terminal_interface.start_terminal_interface:main"

相關文章