Как найти файл исходного кода cpython для конкретного стороннего API (например, NumPy)? - PullRequest
0 голосов
/ 27 июня 2019

Этот вопрос возник из этой записи .

Я выискиваю основную логику для numpy.linalg.eig.

w, v = np.linalg.eig(C.T*C)
v
matrix([[-0.9486833 , -0.31622777],
        [ 0.31622777, -0.9486833 ]])

реализация np.linalg.eig

w, vt = _umath_linalg.eig(a, signature=signature, extobj=extobj)

связан здесь , который ссылается на _umath_linalg.py

_umath_linalg.py соответствует <python3.6>/site-packages/numpy/linalg/_umath_linalg.cpython-36m-darwin.so

Я искал много ключевых слов из _umath_linalg.eig в исходном коде cpython gh repo и ничего не связал.

в этом случае, как найти файл исходного кода cpython для _umath_linalg.cpython-36m-darwin.so или _umath_linalg.eig?

1 Ответ

1 голос
/ 27 июня 2019

Точно там, где разные библиотеки находятся за пределами PyPi, не является общим местом для всех модулей, но обычно они находятся где-то на github.В этом случае вы ищете не сам источник cpython, а модуль linalg внутри numpy.Запрашивая поисковую систему для numpy linalg github, даст вам местоположение .

. Вы также можете использовать pip download для загрузки исходного кода любого модуля, доступного в PyPi.в каталог по вашему выбору.Это может быть полезно для извлечения конкретной версии и просмотра того, что было загружено в PyPi:

pip download numpy -d <directory>
...