簡體   English   中英

如何更改 Python 的 help() 調試器命令的默認尋呼機?

[英]How can I change the default pager for Python's help() debugger command?

我目前正在服務器(Ubuntu)上做一些工作,沒有管理員權限,也沒有與管理員聯系。 在 python 命令行中使用help(command)時出現錯誤。

這是一個例子:

>>> help(someCommand) 
/bin/sh: most: command not found

因此,此錯誤表明大多數尋呼機當前未安裝。 但是,我正在使用的服務器安裝了“更多”和“更少”的尋呼機。 那么,如何更改此 python 實用程序的默認尋呼機配置?

這個很難研究,但我想我找到了。

內置help使用標准庫pydoc模塊生成其消息(該模塊也可用作獨立腳本)。 文檔中,我們發現:

將 output 打印到控制台時, pydoc嘗試對 output 進行分頁以便於閱讀。 如果設置了PAGER環境變量, pydoc將使用它的值作為分頁程序。

因此,據推測,這已在您的系統上設置為most 假設它不會破壞您系統上的任何其他內容,只需取消設置或更改它。 (它仍然沒有設置值的頁面 - 即使在 Windows 上。我假設它有一個內置的后備。)

您可以制作一個自定義的most腳本,它只調用less (甚至more )。

步驟是:

  1. 設置一個名為most的腳本,其內容為:
    #!/bin/sh
    less ${@:1}  # wierdess is just "all arguments except argument 0"
  1. 將該腳本放在PATH上的位置

然后most filename應該在該文件上運行less ,並且應該從您的 python 解釋器中調用該命令。

不過老實說,我只是使用 Karl 的方法。

您可以在 源代碼中查看各種尋呼機選項。 可以更換 function 以返回所需的任何內容。 例如:

import pydoc

pydoc.getpager = lambda: lambda text: pydoc.pipepager(text, 'less')

暫無
暫無

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

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