Я пытаюсь использовать Cython в интерактивном режиме в IPython 3.2.1 с использованием Python 2.7.5.в CentOS 7.5 и 7.6.Вот что я получаю:
In [13]: %load_ext Cython
The Cython module is not an IPython extension.
Конечно, я прочитал Модуль Cython не является расширением IPython и Cython в Ipython: ОШИБКА: Волшебство ячейки `%%cython` не найден , а также только что искал в сети.Советы оттуда не помогают (например, %load_ext
не будет работать, используйте import cython
).У меня даже создалось впечатление, что никто не сталкивался с этой проблемой, и если кто-то сталкивался с ней, ее легко решить («... сначала вы должны %load_ext Cython
...»).
Следует отметить, что в anaconda3, IPython 6.5.0, Python 3.6.6 то же самое (пример из книги Курта Смита) работает хорошо:
In [1]: %load_ext cython
In [2]: %%cython
...: def fib(int n):
...: cdef int i
...: cdef double a=0., b=1.
...: for i in range(n): a, b = a+b, a
...: return a
...:
In [3]: fib(10)
Out[3]: 55.0
Я пытался прочитать орасширения IPython.К сожалению, я все еще в замешательстве.Ipython3 (6.5.0) от anaconda, ipython2 (3.2.1) от ОС, и в ОС также есть ipython3.Какой из них является каталогом ~ / .ipython?Общие?Кстати, оба каталога ~/.ipython/extensions/
и ~/.ipython/nbextensions/
пусты.Должны ли они содержать коды расширения?
Я осознаю неизбежную необходимость перехода на Python 3, но все же ... У меня много кода на Python 2, и на это требуется время.
Я бы хотел иметь возможностьиспользовать Cython в интерактивном режиме с Python2 и Python3 в их средах IPython.
Большое спасибо!