python2 notebook not modulenotfounderror ipykernel installed how change python ipython

python - modulenotfounderror - notebook 5.4 0 requires ipykernel which is not installed



ipython lee la versión incorrecta de python (9)

¿Qué hay de usar un virtualenv? Me gusta mucho. Tal vez no sea la manera más rápida, pero creo que está muy claro.

Cuando crea un virtualenv, puede especificar el camino de python con el indicador -p.

para Python 2.7

$ virtualenv -p /usr/bin/python2.7 venv2.7 $ source venv2.7/bin/activate (venv2.7)$ pip install ipython (venv2.7)$ ipython

para Python 3.4

$ virtualenv -p /usr/bin/python3.4 venv3.4 $ source venv3.4/bin/activate (venv3.4)$ pip install ipython (venv3.4)$ ipython

He estado teniendo problemas con Python, iPython y las bibliotecas. Los siguientes puntos muestran la cadena de la problemática. Estoy ejecutando Python 2.7 en Mac Lion.

  1. iPython no lee las bibliotecas de scipy, matplotlib, pero sí muestra numpy.
  2. Para solucionarlo, traté de instalar la versión del código fuente de Python, y solo me dio más problemas ya que ahora tengo dos versiones diferentes: 2.7.1 y 2.7.2
  3. Noté que ejecutando Python, usa la versión 2.7.2 y importa scipy, matplotlib y numpy, pero en iPython la versión es 2.7.1, que no abre scipy o matplotlib.

He intentado varias cosas que he encontrado en otros blogs. Pero ninguno de ellos ha ayudado, y desafortunadamente no sé muy bien qué estoy haciendo con algunos de ellos. Por ejemplo: intenté desinstalar y reinstalar ipython con easy_install y pip. También intenté reinstalar todo a través de homebrew y modificando la ruta .bash_profile.


Bien, solución rápida:

which python

te da /usr/bin/python , ¿verdad? Hacer

which ipython

y apuesto a que será /usr/local/bin/ipython . Miremos adentro:

Editar 9/7/16 - El archivo ahora se ve así:

cat /usr/local/bin/ipython #!/usr/bin/python # -*- coding: utf-8 -*- import re import sys from IPython import start_ipython if __name__ == ''__main__'': sys.argv[0] = re.sub(r''(-script/.pyw|/.exe)?$'', '''', sys.argv[0]) sys.exit(start_ipython())

Y el mío funciona correctamente así, pero mi situación no es exactamente como la de los OP.

Respuesta original - 30/9/13:

cat /usr/local/bin/ipython #!/usr/bin/python # EASY-INSTALL-ENTRY-SCRIPT: ''ipython==0.12.1'',''console_scripts'',''ipython'' __requires__ = ''ipython==0.12.1'' import sys from pkg_resources import load_entry_point if __name__ == ''__main__'': sys.exit( load_entry_point(''ipython==0.12.1'', ''console_scripts'', ''ipython'')() )

Aha - abre /usr/local/bin/ipython en tu editor (con privilegios), y cambia la primera línea a

#!/usr/local/bin/python

save, start iPython, debería decir que está usando la versión que desea ahora.


La solución más simple que pude pensar, que no requiere juguetear con entornos, archivos instalados o cualquier otra cosa, se basa en los hechos que

  1. El ejecutable ipython es en realidad un script de Python.
  2. El paquete de IPython se instala por separado para cada intérprete con el que haya ejecutado pip intall .

Si la versión de Python con la que está ejecutando tiene instalado un paquete de IPython, puede hacer

/path/to/desired/python $(which ipython)

Esto ejecutará la ipython comandos de ipython con el intérprete que desee en lugar del que figura en el shebang.


Me encontré con el mismo problema, pero la siguiente fue la única solución que funcionó para mí en OSX 12, Sierra.

ipython siempre se lanzaba para Python 3.6 pero lo necesitaba para 2.7. No pude encontrar un script de inicio de ipython para 2.7, ni pude encontrar el módulo de IPython para ejecutar con python -m . Nada de brew instally ipython pip install ipython o pip2 install ipython podría conseguirme la versión 2.7. Entonces lo obtuve de forma manual.

brew install ipython@5 instala la versión 2.7 desde here pero no la pondrá en $PATH porque sabe que el nombre entra en conflicto con otro paquete. ln -s /usr/local/Cellar/ipython@5/5.5.0_1/bin/ipython /usr/local/bin/ipython2 arreglará esto y le permitirá ejecutar ipython2 desde el indicador de shell

Para mí, porque me tomé en serio el uso de ipython para 2.7, también ejecuté los siguientes comandos.

ln -s /usr/local/Cellar/ipython/6.2.1/bin/ipython /usr/local/bin/ipython3 rm -f /usr/local/bin/ipython ln -s /usr/local/bin/ipython2 /usr/local/bin/ipython


Mi solución es simple, estúpida pero funciona.

Uso python -V para asegurarme de qué versión es

$ python -V Python 2.7.10

y luego crea un alias en .bash_profile

$ vi ~/.bash_profile

Agrega una linea

alias ipython="python -m IPython"

entonces obtendrás un ipython en python 2.7. 🙂

(Por cierto, mi ipython es la instalación a través de homebrew , por defecto tendrá una ejecución ipython en python 3.)

$ brew install ipython


Primero, me aseguraré de que estés usando el pitón correcto. En un símbolo del sistema, escriba:

which python python -V

El primero te dirá la ruta, el segundo te dirá la versión de Python que estás usando.


Su problema básicamente es hacer que ipython use el pitón correcto.

así que la solución al problema es hacer que ipython use el python correcto (que tiene las bibliotecas como scipy instalado)

He escrito una solución aquí:

Cómo hacer que iPython use Python 2 en lugar de Python 3


Un método similar usando pyenv

pyenv install 3.4.5 pyenv local 3.4.5 pip install ipython ipython

Ahora mostrará la versión correcta de python

Python 3.4.5


extremadamente relevante: conda.pydata.org/docs/… .

Los problemas de td; lr se encuentran debido a las variables de "hashing" y ruta del shell.