Pregunta

Estoy utilizando ipython en Mac OS 10.5 con Python 2.5.1 (De hecho, me gustaría usar para ipython 2.6.1, pero no parece que esté disponible?)

He instalado ipython través easy_install. Funciona, pero no se encuentra readline de GNU (necesario para la búsqueda de buen historial de la línea de comandos con Ctrl-R, etc.)

He encontrado una rel="noreferrer"> href="http://www.brianberliner.com/2008/04/18/ipython-on-mac-os-x-105-leopard/" blog y otras fuentes diciendo que esto podría ser fijada por

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

Sin embargo, esto conduce a errores en la construcción, en particular readline.c funciones no declaradas como rl_compentry_func_t y rl_catch_signals.

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

¿Fue útil?

Solución

Puede instalar todo lo que necesita esencialmente un comando usando MacPorts. En primer lugar descargar e instalar MacPorts de http://www.macports.org/ .

A continuación, sólo hacer lo siguiente en el terminal: 1) Puerto sudo -v selfupdate
2) Puerto sudo -v install-py26 ipython

Esto instalará python2.6, ipython para Python 2.6 y readline para usted. El comando para iniciar ipython estará ubicado en /opt/local/bin/ipython2.6

Otros consejos

Para instalar ipython en Snow Leopard o Lion sin usar MacPorts, sólo tiene que hacer:

sudo easy_install readline ipython

(Tenga en cuenta que si se utiliza el "pip" para instalar readline, entonces ipython no verá la biblioteca readline, no sé por qué).

Editar:

Si se hubiera instalado ipython quitarlo con

sudo pip uninstall ipython

o

pip uninstall ipython #for virtualenvs

A continuación, asegúrese de que ha instalado readline primero y volver a instalar iptyhon

pip install readline ipython

Por alguna razón, si readline no estuvo presente durante la instalación, se instalará sin soporte para readline o utilizar el readline MAC predeterminada.

Esto funcionó para mí (estoy usando Python 2.7, para otras versiones que necesita para editar):

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

instalar readline lo que le apetezca (pip, homebrew, macports, etc)

pip install -U readline

Éxito! y funciona con virtualenv y virtualenvwrapper, y no hay necesidad de modificar ipython:)

La forma única de trabajar en MacOS Mavericks es:

  1. cambio a su workon myproject_name virtualenv
  2. eliminar readline y ipython (si se ha instalado antes) pip uninstall readline ipython
  3. instalar readline sólo a través de easy_install (PIP - no hay trabajo!) easy_install readline
  4. finalmente instalar ipython con pip pip install ipython

Es un trabajo bien en mi MacOS y probado desde hace mucho tiempo.

Una alternativa si no desea utilizar los puertos. Precaución:. Este no es el paso seguro

Instalar ipython y readline como normales:

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

Encuentra la ruta completa a su huevo readline. Para Python 2.6 esta 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

Editar ipython con su editor de texto favorito:

vim `which ipython`

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

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

Guardar y salir (:wq).

Comprobar readline está funcionando correctamente:

ipython

"De hecho, me gustaría usar para ipython 2.6.1"

Está disponible. Lo estoy usando con 2.6.1 en OS X. Sólo tiene que instalar la distribución oficial de Python 2.6.1, a continuación, instalar ipython con easy_install.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top