Eu queria usar o iPython Notebook no Python 3 no Ubuntu 14.04. Como tenho o Python 2.7 e o Python 3.4 instalados no meu sistema - e por outros motivos específicos da implementação -, decidi usar um ambiente virtual do Python (com virtualenv
). Muito pouco foi escrito sobre este assunto até agora ...
Esses relatórios não tratam especificamente do Python 3 e dos ambientes virtuais. Além disso, o oficial e vários guias não-oficiais para instalar o iPython Notebook também não lidam com este caso de uso.
O principal problema que encontrei é com a biblioteca do ZMQ. Para instalar a biblioteca e as ligações do Python em todo o sistema, usei apt-get
:
sudo apt-get install libzmq3 libzmq3-dev python3-zmq
Mas quando tentei o pip install ipython[notebook]
, dentro ou fora do meu virtualenv
, a instalação falharia com o status de saída 1 e os avisos:
Warning: Detected ZMQ version: 4.0.4, but pyzmq targets ZMQ 4.0.5.
Warning: libzmq features and fixes introduced after 4.0.4 will be unavailable.
Confirmei no Gerenciador de Pacotes Synaptic que o pacote libzmq3
para o Ubuntu é apenas a versão 4.0.4. Como alternativa, Eu tentei esta correção , tendo pyzmq
construindo sua própria libzmq
dependency:
pip install pyzmq --install-option="--zmq=bundled"
Mas isso falhou porque não foi possível encontrar um determinado arquivo de cabeçalho:
buildutils/initlibsodium.c:10:20: fatal error: Python.h: No such file or directory
#include "Python.h"
^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
Em seguida, criei libzmq
versão 4.0.5 a partir do código-fonte.
wget http://download.zeromq.org/zeromq-4.0.5.tar.gz
tar -xzvf zeromq-4.0.5.tar.gz && rm zeromq-4.0.5.tar.gz
cd /usr/local/zmq/zeromq-4.0.5
./configure
make -j 6
sudo make install
Nenhum problema encontrado. Depois disso, tentei instalar o pyzmq
no meu ambiente virtual com:
easy_install pyzmq
Eu também tentei criar pyzmq
da fonte. Em ambos os casos, pude ver na saída que a versão adequada do ZMQ (4.0.5) foi detectada, mas a instalação falhou porque eu não tinha o Cython instalado (uma dependência não bem documentada para construir pyzmq
, em minha opinião).
Depois de instalar o Cython for Python 3 ...
sudo apt-get install cython3
Eu tentei instalar pyzmq
novamente com pip
e com easy_install
dentro e fora do ambiente virtual; ainda não funcionou. Esta mensagem foi entregue apesar de o cython3
estar instalado:
Fatal: Cython-generated file 'zmq/backend/cython/_device.c' not found.
Cython >= 0.16 is required to compile pyzmq from a development branch.
Please install Cython or download a release package of pyzmq.
E essa estrutura de arquivos:
$ ls -l zmq/backend/cython/
checkrc.pxd context.pxd __init__.py _poll.pyx utils.pxd
constant_enums.pxi context.pyx libzmq.pxd rebuffer.pyx utils.pyx
constants.pxi _device.pyx message.pxd socket.pxd _version.pyx
constants.pyx error.pyx message.pyx socket.pyx