Cómo degradar Python de 3.7 a 3.6

88

Estoy intentando instalar tensorflow pero necesita una instalación de Python 3.6 y solo tengo instalado Python 3.7. Intenté cambiar el uso de brew y pyenv pero no funciona.

¿Alguien sabe alguna forma de solucionar este problema?

Igor Kvasha
fuente
4
Te recomiendo que uses Anaconda . Luego, cree un nuevo entorno para cada nuevo proyecto y actívelo antes de usarlo. En su caso, conda create -n myenv python=3.6ysource activate myenv
Canh
1
Actualiza tensorflow. Tensorflow 1.14 y 1.15 son compatibles con Python 3.7 (y versiones anteriores) y tensorflow 2.2 es compatible con Python 3.8
Boris

Respuestas:

34
$ brew unlink python
$ brew install --ignore-dependencies https://raw.githubusercontent.com/Homebrew/homebrew-core/e128fa1bce3377de32cbf11bd8e46f7334dfd7a6/Formula/python.rb
$ brew switch python 3.6.5
$ pip install tensorflow
Jeereddy
fuente
Hay un error tipográfico en la última línea
Mad Physicist
1
Esto funciona muy bien, pero sugeriría antes pip install tensorflowcrear un virtualenv o un conda env, luego activarlo y finalmente usarlopip install tensorflow
Diego Aguado
Puede omitir las dos primeras líneas si tenía esta versión de Python antes y la ha actualizado a una versión superior (y no ha usado el $ brew cleanupcomando)
Mykola Zotko
3
¿Qué es la infusión? ¿No puedo usar apt?
Jamie Hutber
@JamieHutber brew.sh es un administrador de paquetes creado originalmente para macOS, pero hoy en día también es compatible con Linux, consulte docs.brew.sh/Homebrew-on-Linux . Si debe usarlo apt, puede intentar agregar el deadsnakesPPA que empaqueta las versiones anteriores de Python: launchpad.net/~deadsnakes/+archive/ubuntu/ppa , pero solo funciona en las versiones de Ubuntu de soporte a largo plazo (LTS) , que son 14.04, 16.04, 18.04 y 20.04 mientras estoy escribiendo este comentario en 2020.
Boris
28

Si está trabajando con Anaconda, entonces

conda install python=3.5.0
# or maybe 
conda install python=2.7.8
# or whatever you want....

Podría funcionar.

Vijaya
fuente
Esto funcionó y resolvió mi problema. Esto no solo instaló la versión anterior de Python, sino que también degradó la versión.
stok el
3
¿Alguna otra solución sin usar condapara Linux?
Dentrax
2
Recibo UnsatisfiableError:The following specifications were found to be in conflict: - python=3.5.0 - ssl_match_hostname -> python[version='>=2.7,<2.8.0a0'] -> readline=7 - ssl_match_hostname -> python[version='>=2.7,<2.8.0a0'] -> tk=8.6
MrMartin
11

crear un entorno virtual, instalar y luego cambiar a Python 3.6.5

$ conda create -n tensorflow python=3.7
$ conda activate tensorflow
$ conda install python=3.6.5
$ pip install tensorflow

activa el entorno cuando quieras usar tensorflow

ersh
fuente
7

Descargue python 3.6.0 desde https://www.python.org/downloads/release/python-360/

Instálelo como un paquete normal.

correr cd /Library/Frameworks/Python.framework/Version

Ejecute el lscomando y todas las versiones de Python instaladas serán visibles aquí.

correr sudo rm -rf 3.7

Verifique la versión ahora python3 -Vy será 3.6 ahora.

Sidharth Taneja
fuente
3

Cree un entorno virtual de Python usando conda y luego instale tensorflow:

$ conda create -n [environment-name] python=3.6
# it may ask for installing python-3.6 if you don't have it already. Type "y" to proceed...
$ activate [environment-name]
$ pip install tensorflow

A partir de ahora, puedes activar el entorno siempre que quieras usar tensorflow.

Si no tiene el administrador de paquetes conda, primero descárguelo desde aquí: https://www.anaconda.com/distribution

Seyed Hamed Shams
fuente
Hola @Seyed, tengo el mismo problema, mi spyder predeterminado se abre con 3.7, aunque abro las herramientas-> preferencias en mi entorno conda python 3.6.9, ¿cómo cambiar en spyder, el navegador anaconda no muestra el inicio de spyder?
hanzgs
2

Una forma limpia sin tener que desinstalar una versión anterior o volver a software adicional como Anaconda o Docker, etc. es descargar el código fuente de Python 3.6 e instalarlo de la siguiente manera:

$ mkdir /home/<user>/python3.6
$ ./configure --prefix=/home/<user>/python3.6/
$ make altinstall

Para usarlo usted:

  • agregue /home/<user>/python3.6/bina su PATH(y liba LD_LIBRARY_PATH) y termine con eso. (Es posible que también deba agregar a su ruta de inclusión, etc., dependiendo de lo que esté tratando de lograr exactamente, pero espero que entienda la idea);

  • o bien, se crea un entorno virtual similar a esto: /home/<user>/python3.6/bin/python3.6 -m venv env-python3.6.

No se requiere acceso a sudo o root. No estropear tu sistema.

no determinista
fuente
No olvide descargar primero la última versión ( 3.6.9
Rabindranath Andujar
1

Tenía problemas para instalar tensorflow con python 3.7 y seguí estas instrucciones para tener una configuración de entorno virtual con python3.6 y lo hice funcionar

Download the Python3.6 tgz file from the official website (eg. Python-3.6.6.tgz)
Unpack it with tar -xvzf Python-3.6.6.tgz
cd Python-3.6.6
run ./configure
run make altinstall to install it (install vs altinstall explanation here 

configurar el entorno virtual python3.6 para tensorflow

Si está utilizando jupyter notebook o jupyter lab, esto puede ser útil para elegir el entorno virtual adecuado.

python -m venv projectname
source projectname/bin/activate
pip install ipykernel
ipython kernel install --user --name=projectname

En este punto, puede iniciar jupyter, crear un nuevo cuaderno y seleccionar el kernel que vive dentro de su entorno.

entorno virtual y cuadernos jupyter

Espero que esto ayude

Mateo Pablo
fuente
-1

Para aquellos que desean agregar varias versiones de Python en su sistema: agrego fácilmente varios intérpretes ejecutando los siguientes comandos:

  • actualización de sudo apt
  • sudo apt instalar software-propiedades-común
  • sudo add-apt-repository ppa: deadsnakes / ppa
  • sudo apt instalar python 3.xx
  • luego, mientras crea su entorno virtual, elija el intérprete de su elección.
Abdul Rehman
fuente