Instalando ipython con readline en el mac

Estoy usando ipython en Mac OS 10.5 con python 2.5.1 (¿Realmente me gustaría usar ipython para 2.6.1, pero parece que no está disponible?)

Instalé ipython a través de easy_install. Funciona pero falta gnu readline (necesario para una búsqueda agradable del historial de la línea de comandos con ctrl-R, etc.)

Encontré una publicación de blog y otras fonts que decían que esto podía ser solucionado por

sudo easy_install -f http://ipython.scipy.org/dist/ readline

Sin embargo, esto lleva a generar errores en readline.c , particularmente funciones no declaradas como rl_compentry_func_t y rl_catch_signals .

¿Alguien ha visto estos errores? ¿Hay otra manera de instalar ipython con readline?

Puede instalar todo lo que necesita con esencialmente un comando usando MacPorts. Primero descargue e instale MacPorts desde http://www.macports.org/ .

Luego haga lo siguiente en el terminal: 1) sudo port -v selfupdate
2) puerto sudo -v instalar py26-ipython

Eso instalará python2.6, ipython para python 2.6 y readline para usted. El comando para iniciar ipython se ubicará en /opt/local/bin/ipython2.6

Para instalar ipython en Snow Leopard o Lion sin usar MacPorts, simplemente puede hacer:

 sudo easy_install readline ipython 

(Tenga en cuenta que si utiliza el “pip” para instalar readline, ipython no verá la biblioteca de readline, no estoy seguro de por qué).

Editar:

Si tiene instalado ipython, elimínelo con

 sudo pip uninstall ipython 

o

 pip uninstall ipython #for virtualenvs 

Luego, asegúrese de haber instalado primero el readline y reinstale iptyhon

 pip install readline ipython 

Por algunas razones, si readline no estuvo presente durante la instalación, se instalará solo sin soporte para readline o usará el readline de mac predeterminado.

esto me funcionó (estoy usando Python 2.7, para otras versiones que necesitarás editar):

 cd /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload sudo mv readline.so readline.so.bak 

instala readline como quieras (pip, homebrew, macports, etc.)

 pip install -U readline 

¡Éxito! y funciona con virtualenv y virtualenvwrapper, y no es necesario modificar ipython 🙂

La única forma de trabajar en MacOS Mavericks es:

  1. cambie a su trabajo virtualenv workon myproject_name
  2. elimine readline y ipython (si lo instaló antes), pip uninstall readline ipython
  3. instale readline solo a través de easy_install (pip – no funciona!) easy_install readline
  4. finalmente instale ipython con pip pip install ipython

Funciona bien en mi MacOS y probado desde hace mucho tiempo.

Una alternativa si no quieres usar puertos. Precaución: Esto no es actualización segura.

Instale ipython y readline como de costumbre:

 sudo easy_install -f http://ipython.scipy.org/dist/ readline ipython 

Encuentra el camino completo a tu huevo readline . Para Python 2.6 esto probablemente será:

 /Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/readline-2.5.1-py2.6-macosx-10.3-fat.egg 

Edita ipython con tu editor de texto favorito:

 vim `which ipython` 

Antes de la última línea en el archivo sys.exit , inserte:

 sys.path.insert(0,'PATH_TO_READLINE_EGG') 

Guardar y salir ( :wq ).

Compruebe que Readline está funcionando correctamente:

 ipython 

“Realmente me gustaría usar ipython para 2.6.1”

Está disponible. Lo estoy usando con 2.6.1 en os x. Solo necesitas instalar la distribución oficial de python 2.6.1, luego instalar ipython con easy_install.