Определение целей для межсинхронных ссылок на numpy, scipy и matplotlib

Следуя документации по настройке ссылок документации Sphinx между пакетами, я добавил

intersphinx_mapping = {'python': ('http://docs.python.org/2', None), 'numpy': ('http://docs.scipy.org/doc/numpy/', None), 'scipy': ('http://docs.scipy.org/doc/scipy/reference/', None), 'matplotlib': ('http://matplotlib.sourceforge.net/', None)} 

к моему conf.py , но, похоже, не может получить ссылки на какой-либо проект, отличный от самого Python. Например

 :term:`svg graphics <matplotlib:svg>` 

просто приводит меня к странице индекса, не добавляя ожидаемый якорь #term-svg , и я даже не могу найти словарь для scipy или выяснить, как определить, что :ref: s или :term: s поддерживаются пакетом ,

Где я могу найти инструкции по указанию целей для :ref: s и :term: s в numpy , scipy и matplotlib ?


В этом отношении, как я могу связать себя с самим Сфинксом? Добавление

 intersphinx_mapping['sphinx'] = ('http://sphinx-doc.org/', None) 

а также

 :ref:`Intersphinx <intersphinx>` 

не работает.

2 Solutions collect form web for “Определение целей для межсинхронных ссылок на numpy, scipy и matplotlib”

Где я могу найти инструкции по указанию целей для :ref: s и :term: s в numpy , scipy и matplotlib ?

У меня есть Gist с несколькими intersphinx отображениями, которые теперь включают все numpy , scipy и matplotlib . Вы должны иметь возможность использовать эти записи непосредственно в intersphinx_mapping , в вашем conf.py Если у кого-то есть предложения по внесению дополнительных записей в этот список, пожалуйста, не стесняйтесь отправлять запросы в комментарии Gist.

Для всех этих пакетов на каждый ответ fgoudra я настоятельно рекомендую использовать sphobjinv для декодирования и проверки синтаксиса файла objects.inv для каждой библиотеки. (Полное раскрытие: я являюсь автором sphobjinv .) Каждая строка (декодированных) objects.inv дает вам всю информацию, необходимую для создания рабочей справки intersphinx ; см. документацию по sphobjinv .


numpy сложный. Иногда вам требуется полное имя, например:

 :func:`numpy.cross` 

В других случаях (например, для функций C) вы можете просто ссылаться на базовое имя функции, но вы должны явно указать домен, например:

 :c:func:`PyArray_InnerProduct` 

Однако иногда вам может потребоваться ссылка на пользовательский домен np , например:

 :np:func:`numpy.ma.append` 

Нет никакого способа узнать, что такое правильный синтаксис, не консультируясь с objects.inv .

scipy примерно так же непроницаем, как и numpy . Все это осложняется введением многочисленных пользовательских доменов для различных scipy подпакетов, например:

 :scipy-optimize:func:`scipy.integrate.newton_cotes` 

Для matplotlib , что вам всегда нужно предоставить (довольно многословное) полностью указанное имя объекта в ссылке, например:

 :meth:`matplotlib.axes.Axes.plot` 

Однако все matplotlib кода matplotlib видимому, находятся в домене py по умолчанию, что несколько упрощает.

Для любого из них, если у вас возникли проблемы с созданием ссылки для правильной сборки, первое, на что я вернусь, – это использовать общий :obj: role, например:

 :obj:`matplotlib.axes.Axes.plot` 

Это создаст intersphinx ссылку независимо от роли, в которой был определен конкретный объект, хотя я думаю, что вам все же нужно правильно указать любой соответствующий домен, intersphinx от стандартного. Если ссылка не работает должным образом с помощью :obj: role, тогда в имени объекта или в домене есть ошибка. Проверьте наличие опечаток в обоих местах.

Можно вручную указать, какой инвентарь посмотреть. Например, если intersphinx_mapping['sphinx'] = ('http://sphinx-doc.org/', None) не работает, вы всегда можете загрузить инвентарь и вручную добавить его к сопоставлению (например, загрузить с http: //sphinx-doc.org/objects.inv , сохраните двоичный файл в ваших документах и ​​добавьте путь к нему в сопоставлении, это даст что-то вроде:

intersphinx_mapping['sphinx'] = ('http://sphinx-doc.org/', ('objects.inv', ), )

Чтобы проверить, существует ли ссылка в инвентаре, вы можете изучить двоичный файл с пакетом python sphobjinv и проверить, где именно вы хотите.

Это может быть не решение вашей проблемы, но может помочь отладить некоторые вещи.

  • Что такое эквивалент Python (numpy или scipy или Pandas) для функции adjboxStats R?
  • Сохранение и загрузка Python dict с помощью savemat приводит к ошибке
  • Невозможно интерпретировать MATLAB interp2d в Python scipy.interp
  • Формула Планков для спектра Blackbody
  • Оптимизация SciPy сгруппированными границами
  • Ошибка преобразования большой разреженной матрицы в COO
  • Scipy редкий решатель dia_matrix
  • Корневая средняя квадратная ошибка в python
  • преобразование списка строк python в их тип
  • Расчет площадей между двумя кривыми
  • Решение системы связанных дифференциальных уравнений с использованием scipy odeint
  •  
    Interesting Posts for Van-Lav

    как настроить собственное промежуточное программное обеспечение в django

    Когда оператор `==` не эквивалентен оператору `is`? (Python)

    Логарифмические ячейки оси y в python

    Написание текста с переводом каретки в изображение на Python с использованием PIL

    Многопроцессорность python: некоторые функции не возвращаются, когда они полны (слишком большой материал очереди)

    Являются ли списки потокобезопасными

    Распаковка, расширенная распаковка и вложенная расширенная распаковка

    Как я могу использовать модуль Perl из Python?

    Исключение authCanceled в python-social-auth

    Как проверить поля wtforms друг против друга?

    Как применить некоторую функцию к python meshgrid?

    Django не запускается с ошибкой wierd. Объект 'AttributeError:' module 'не имеет атрибута' getargspec ''

    Даже цифры в Python

    argparse: как я могу разрешить нескольким значениям переопределять значение по умолчанию

    Потоковая передача с помощью пушки

    Python - лучший язык программирования в мире.