Domanda

Sto usando ipython su Mac OS 10.5 con Python 2.5.1 (mi sarebbe effettivamente desidera utilizzare ipython per 2.6.1, ma non sembra essere disponibile?)

Ho installato ipython via easy_install. Funziona, ma manca GNU readline (necessaria per la bella ricerca della storia riga di comando con ctrl-R, ecc.)

Ho trovato un post sul blog e altre fonti dicendo che questo potrebbe essere fissati dal

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

Tuttavia, questo porta ad errori di generazione in readline.c, in particolare le funzioni non dichiarate come rl_compentry_func_t e rl_catch_signals.

Qualcuno ha visto questi errori? C'è un altro modo per ottenere ipython installato con readline?

È stato utile?

Soluzione

È possibile installare tutto il necessario con essenzialmente un comando utilizzando MacPorts. Prima scaricare e installare MacPorts da http://www.macports.org/ .

Poi basta fare quanto segue nel terminale: 1) sudo port -v selfupdate
2) sudo port -v install py26-ipython

che installerà python2.6, ipython per Python 2.6 e readline per voi. Il comando per avviare ipython sarà ubicato a /opt/local/bin/ipython2.6

Altri suggerimenti

Per installare ipython su Snow Leopard o Lion senza usare MacPorts, si può semplicemente fare:

sudo easy_install readline ipython

(Si noti che se si utilizza il "PIP" per installare readline, quindi ipython non vedrà la libreria readline, non so perché).

Modifica:

Se tu avessi ipython installato rimuovere con

sudo pip uninstall ipython

o

pip uninstall ipython #for virtualenvs

Quindi assicuratevi di aver installato readline prima e reinstallare iptyhon

pip install readline ipython

Per alcune ragioni, se readline non era presente durante l'installazione, che si installerà senza il supporto per readline o utilizzare il readline predefinito di Mac.

questo ha funzionato per me (sto usando python 2.7, per le altre versioni è necessario modificare):

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

installare readline comunque lo si voglia (pip, homebrew, macports, ecc)

pip install -U readline

Successo! e funziona con virtualenv e virtualenvwrapper, e non c'è bisogno di modificare ipython:)

L'unico modo lavorare su MacOS Mavericks è quello di:

  1. Passa alla tua workon myproject_name virtualenv
  2. eliminare readline e ipython (se è stato installato prima) pip uninstall readline ipython
  3. installare readline solo tramite easy_install (PIP - nessun lavoro!) easy_install readline
  4. , infine, installare ipython con pip pip install ipython

E 'funziona bene sul mio MacOS e testato a lungo.

In alternativa, se non si desidera utilizzare le porte. Attenzione:. Questo non è l'aggiornamento di sicurezza

Installa ipython e readline come normale:

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

Trova il percorso completo per il vostro uovo readline. Per Python 2.6 Questo sarà probabilmente:

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

Modifica ipython con il vostro editor di testo preferito:

vim `which ipython`

Prima che la riga finale nel file sys.exit, inserire:

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

Salva e uscire (:wq).

Controlla readline sta lavorando corretta:

ipython

"mi sarebbe effettivamente desidera utilizzare ipython per 2.6.1"

E 'disponibile. Lo sto usando con 2.6.1 su OS X. Hai solo bisogno di installare la distribuzione ufficiale di Python 2.6.1, quindi installare ipython con easy_install.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top