para descargar python

descargar - ipython quejándose de readline



ipython shell (3)

Cuando instalo ipython en mi osx y lo ejecuto, recibo la siguiente advertencia:

/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ site-packages/IPython/utils/rlineimpl.py:96: RuntimeWarning: Leopard libedit detected - readline will not be wel behaved including some crashes on tab completion, and incorrect history navigation. It is highly recommended that you install readline, which is easy_installable with: ''easy_install readline''

He instalado readline y no uso el sistema python que se instaló originalmente en /Library/Frameworks/Python.framework/Versions/2.7/bin/python$ . El /usr/bin/python apunta a la versión 2.7 como se muestra a continuación

uname -a Darwin macbook.local 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun 7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386 i386 $sudo pip install readline ipython $ipython --version 0.11 $/usr/bin/python --version # Python 2.7.1 $which python /Library/Frameworks/Python.framework/Versions/2.7/bin/python

He leído la pregunta en Python. La modificación de sys.path no funciona . Agregué /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/readline-6.2.1-py2.7.egg-info al /Library/Frameworks/Python.framework/Versions/2.7/bin/ipython para que ahora se vea así: http://pastebin.com/raw.php?i=dVnxufbS

pero no puedo entender por qué estoy recibiendo el siguiente error:

File "/Library/Frameworks/Python.framework/Versions/2.7/bin/ipython", line 9 sys.path.insert(0,"/Library/Frameworks/Python.framework/Versions/2.7/lib/ python2.7/site-packages/readline-6.2.1-py2.7.egg-info")

No creo que la ruta anterior sea un problema, y ​​mi objetivo es hacer que ipython funcione sin quejarme de Readline, aunque esté instalado e importe correctamente.


Cuando pip instala readline, nunca se importará, porque readline.so va en los paquetes de sitio, que terminan detrás del sistema libedit uno, ubicado en lib-dynload (el orden de la ruta OSX Python es muy extraño). easy_install -a readline realmente instalará readline utilizable.

Por lo tanto, puede usar easy_install o usar pip and muck con PYTHONPATH / sys.path (que esencialmente significa: NO USE PIP).

Un poco más de detalles en la lista de IPython (aunque realmente no hay nada específico de IPython sobre este tema): http://mail.scipy.org/pipermail/ipython-user/2011-September/008426.html

EDITAR: nota extra sobre virtualenv.

Hay un error en virtualenv <1.8.3, donde readline no se configuraría correctamente cuando creas un env.


Nota adicional para los futuros lectores de esta respuesta.

En mi caso, ejecutando una instalación de MacPorts de IPython, había varias versiones de easy_install en / opt / local / bin /, pero ningún enlace simbólico sin versión apuntaba a la más actual. Realizando easy_install-2.7 -a readline funcionó.


Si no te importa andar con tu PYTHONPATH, aquí te explicamos cómo puedes deshacerte de esa molesta advertencia:

# move site-packages to the front of your sys.path import sys for i in range(len(sys.path)): if sys.path[i].endswith(''site-packages''): path = sys.path.pop(i) sys.path.insert(0, path) break

Si está usando Django, puede poner esto en el método ipython de su sitio-paquetes / django / core / management / commands / shell.py para que se ejecute cuando ejecute el ./manage.py shell .