web-dev-qa-db-fra.com

pyzmq manquant lors de l'exécution du bloc-notes ipython

Je peux exécuter iPython, mais lorsque j'essaie de lancer un ordinateur portable, j'obtiens l'erreur suivante:

~  ipython notebook                   
Traceback (most recent call last):
  File "/usr/local/bin/ipython", line 8, in <module>
    load_entry_point('ipython==2.1.0', 'console_scripts', 'ipython')()
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.Egg/IPython/__init__.py", line 120, in start_ipython
    return launch_new_instance(argv=argv, **kwargs)
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.Egg/IPython/config/application.py", line 563, in launch_instance
    app.initialize(argv)
  File "<string>", line 2, in initialize
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.Egg/IPython/config/application.py", line 92, in catch_config_error
    return method(app, *args, **kwargs)
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.Egg/IPython/terminal/ipapp.py", line 321, in initialize
    super(TerminalIPythonApp, self).initialize(argv)
  File "<string>", line 2, in initialize
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.Egg/IPython/config/application.py", line 92, in catch_config_error
    return method(app, *args, **kwargs)
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.Egg/IPython/core/application.py", line 381, in initialize
    self.parse_command_line(argv)
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.Egg/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 "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.Egg/IPython/config/application.py", line 92, in catch_config_error
    return method(app, *args, **kwargs)
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.Egg/IPython/config/application.py", line 475, in parse_command_line
    return self.initialize_subcommand(subc, subargv)
  File "<string>", line 2, in initialize_subcommand
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.Egg/IPython/config/application.py", line 92, in catch_config_error
    return method(app, *args, **kwargs)
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.Egg/IPython/config/application.py", line 406, in initialize_subcommand
    subapp = import_item(subapp)
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.Egg/IPython/utils/importstring.py", line 42, in import_item
    module = __import__(package, fromlist=[obj])
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.Egg/IPython/html/notebookapp.py", line 39, in <module>
    check_for_zmq('2.1.11', 'IPython.html')
  File "/Library/Python/2.7/site-packages/ipython-2.1.0-py2.7.Egg/IPython/utils/zmqrelated.py", line 37, in check_for_zmq
    raise ImportError("%s requires pyzmq >= %s"%(required_by, minimum_version))
ImportError: IPython.html requires pyzmq >= 2.1.11

Mais pour autant que je puisse voir, j'ai déjà installé le paquet pyzmq.

~ pip install pyzmq            
Requirement already satisfied (use --upgrade to upgrade): pyzmq in /Library/Python/2.7/site-packages/pyzmq-14.3.1-py2.7-macosx-10.6-intel.Egg
Cleaning up...
32
utdiscant

Arg. L'installation ipython est un peu idiosyncratique. Voici ce que je devais faire pour résoudre ce problème:

$ pip uninstall ipython
$ pip install "ipython[all]"

Le problème est que les blocs-notes ont leur propre ensemble de dépendances, qui ne sont pas installées avec pip install ipython. Cependant, après avoir installé ipython, pip ne voit pas la nécessité d'ajouter quoi que ce soit si vous essayez ensuite le [all] forme.

Comme mentionné dans les commentaires pour certains shells (par exemple zsh), il est nécessaire de s'échapper ou de citer les crochets (pip install ipython\[all\] fonctionnerait également).

54
Charlie Martin

Pour moi (Ubuntu 14.04.2) a travaillé l'installation par le gestionnaire de paquets synaptic: le paquet s'appelle python3-zmq, avec ce paquet sera installé libzmq3.

Après cela, vérifiez si pyzmq est correctement installé:

pip list

Ensuite, j'ai installé ipython:

pip install "ipython[all]"
1
Rafal T.

En utilisant

ipython2.7 notebook

Au lieu de

ipython notebook

A fait l'affaire pour moi.

1
Akavall