Я не думаю, что есть прямой способ заставить IPython или любую оболочку открывать документацию онлайн, потому что основная задача оболочек - позволить вам взаимодействовать с вещами, для которых они являются оболочками.
Однако мы могли бы написать скрипт для открытия новой вкладки в браузере с документацией. Например:
import webbrowser
docsList = {
"numpy" : lambda x: "https://docs.scipy.org/doc/numpy/reference/generated/" + x + ".html",
"scipy" : lambda x: "https://docs.scipy.org/doc/scipy/reference/generated/" + x + ".html",
"matplotlib" : lambda x: "https://matplotlib.org/api/" + x.split('.')[1] + "_api.html",
"default" : lambda x: "https://www.google.com/search?q=documentation+" + x
}
def online(method_name):
"""
Opens up the documentation for method_name on the default browser.
If the package doesn't match any entry in the dictionary, falls back to
Google.
Usage
-------
>>> lookUp.online("numpy.linalg.cholesky")
>>> lookUp.online("matplotlib.contour")
"""
try:
url = make_url(method_name)
except AttributeError:
print("Enter the method name as a string and try again")
return
webbrowser.open(url, new = 2)
return
def make_url(method_name):
package_name = method_name.split('.')[0]
try:
return docsList[package_name](method_name)
except KeyError:
return docsList["default"](method_name)
Вы можете сохранить вышеприведенное как "lookUp.py" в месте, где Python может его найти, и затем импортировать его, когда вам нужно его использовать.
Предостережения:
Этот метод принимает строки в качестве входных данных, поэтому, если вы вызовете его для функции, он выдаст ошибку.
>>> lookUp.online("numpy.linalg.cholesky")
Будет работать.
>>> lookUp.online(numpy.linalg.cholesky)
Попросит вас дать его в виде строки. Поэтому используйте автозаполнение, чтобы перейти к функции, а затем заключите ее в кавычки, чтобы заставить ее работать.