Начало работы с ноутбуком iPython
Пожалуйста, не считайте это дубликатом. Я видел подобный пост, и рекомендованное решение не решило мою проблему. Мне нужен вклад, потому что я не могу найти решение в другом месте, и у iPython, похоже, нет форума поддержки.
Я пытаюсь использовать ноутбук iPython на Kubuntu 14.04, но не могу запустить его. Я нашел этот пост и попробовал рекомендуемое решение по установке зависимостей. Система утверждает, что python-pip и python-dev уже являются новейшей версией. Там нет ответа для build-essential.
Если кто-то использует pip
установить пакет Python, имеет ли значение, какой интерпретатор Python запущен? Устранение этой проблемы Я обнаружил, что Python 2.7.6 и 3.4.0 установлены в моей системе. Будет ли это иметь значение? Из моего прочтения требований, iPython должен работать на любой версии Python.
В поисках решения я наткнулся ipython notebook --notebook-dir='<path/to/notebooks>'
, Я установил переменную в путь под моим домашним каталогом. Это не имело значения. Если попытаться начать с ввода ipython notebook
Я получаю следующие трассировки:
Traceback (most recent call last):
File "/usr/local/bin/ipython", line 11, in <module>
sys.exit(start_ipython())
File "/usr/local/lib/python2.7/dist-packages/IPython/__init__.py", line 120, in start_ipython
return launch_new_instance(argv=argv, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/IPython/config/application.py", line 573, in launch_instance
app.initialize(argv)
File "<string>", line 2, in initialize
File "/usr/local/lib/python2.7/dist-packages/IPython/config/application.py", line 75, in catch_config_error
return method(app, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/IPython/terminal/ipapp.py", line 321, in initialize
super(TerminalIPythonApp, self).initialize(argv)
File "<string>", line 2, in initialize
File "/usr/local/lib/python2.7/dist-packages/IPython/config/application.py", line 75, in catch_config_error
return method(app, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/IPython/core/application.py", line 369, in initialize
self.parse_command_line(argv)
File "/usr/local/lib/python2.7/dist-packages/IPython/terminal/ipapp.py", line 316, in parse_command_line
return super(TerminalIPythonApp, self).parse_command_line(argv)
File "<string>", line 2, in parse_command_line
File "/usr/local/lib/python2.7/dist-packages/IPython/config/application.py", line 75, in catch_config_error
return method(app, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/IPython/config/application.py", line 471, in parse_command_line
return self.initialize_subcommand(subc, subargv)
File "<string>", line 2, in initialize_subcommand
File "/usr/local/lib/python2.7/dist-packages/IPython/config/application.py", line 75, in catch_config_error
return method(app, *args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/IPython/config/application.py", line 402, in initialize_subcommand
subapp = import_item(subapp)
File "/usr/local/lib/python2.7/dist-packages/IPython/utils/importstring.py", line 42, in import_item
module = __import__(package, fromlist=[obj])
File "/usr/local/lib/python2.7/dist-packages/IPython/html/notebookapp.py", line 30, in <module>
check_for_zmq('13', 'IPython.html')
File "/usr/local/lib/python2.7/dist-packages/IPython/utils/zmqrelated.py", line 12, in check_for_zmq
raise ImportError("%s requires pyzmq >= %s"%(required_by, minimum_version))
ImportError: IPython.html requires pyzmq >= 13
Дополнительный вопрос
После совета Стива Барнса я не уверен, что все работает как надо. Чтобы iPython работал, мне пришлось создать каталог для ноутбуков в корне всех других веб-сайтов на моей машине.
входящий ipython notebook
в командной строке я получаю следующий вывод:
16:33:11 Fri Jul 31 - ~/www/ipython_notebooks
$> ipython notebook
[I 16:33:15.571 NotebookApp] Using MathJax from CDN: https://cdn.mathjax.org/mathjax/latest/MathJax.js
[I 16:33:15.588 NotebookApp] Serving notebooks from local directory: /home/daniel/www/ipython_notebooks
[I 16:33:15.588 NotebookApp] 0 active kernels
[I 16:33:15.589 NotebookApp] The IPython Notebook is running at: http://localhost:8888/
[I 16:33:15.589 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 16:33:16.801 NotebookApp] 405 HEAD /tree (127.0.0.1) 5.74ms referer=None
В моем браузере URL-адрес является неожиданным. Отображается как
file:///var/tmp/kdecache-daniel/krun/6915_0_tree
и содержимое отображается в виде HTML без CSS. Любые ссылки или выпадающие списки не работают. Чтобы веб-страница работала должным образом, необходимо ввести URL http://localhost:8888/notebooks/
в явном виде. Следующая страница является неожиданной для Jupyter, а не для iPython.
Я хотел бы добавить скриншоты, но, видимо, у меня недостаточно репутации для этого. Я чувствую, что чего-то не хватает. Может кто-то предложить, если у них был похожий результат и как это исправить?
1 ответ
Последняя строка сообщает, в чем ваша проблема:
ImportError: IPython.html requires pyzmq >= 13
В вашей системе нет pyzmq или старой версии - попробуйте:
sudo pip install -U pyzmq
Параметр -U - это то же самое, что и --upgrade, и он запросит установку последней версии pyzmq, совместимой с вашей версией python.
Возможно, вам придется установить некоторые другие зависимости, чтобы заставить это работать, например, пакет python-dev, который соответствует вашей текущей версии python, который необходимо будет установить с apt-get install
,
Вполне возможно, что существуют дополнительные неудовлетворенные и необязательные зависимости iPython и его ноутбука, которые вы можете встретить для большинства sudo pip install -U
name_of_component сделает свое дело. Я бы также предложил почитать на python virtual-env
Еще несколько заметок
После запуска iPython в режиме записной книжки вам потребуется перейти к localhost:8888http://tree или //localhost:8888/tree, как показано в последней строке в командном окне, обратите внимание, что / tree является типом представления, а не фактическим каталог и все записные книжки и подкаталоги в каталоге, из которого вы запустили iPython.
Вы также можете быть озадачены тем, что сервер теперь называется jupyter. Это связано с тем, что функциональность ноутбука от iPython выросла и в настоящее время поддерживается и развивается как отдельный проект, который поддерживает Python 2/3, Julia, R, Haskell., Ruby и многие другие языки.
Один сервер может открывать ядра с любым из них, которые вы установили на своем компьютере, а также вы можете смешивать некоторые из них в одном блокноте с помощью магических команд.