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
.