Instalación de varias versiones de Python en Windows con Virtualenv

Estás aquí porque:

  1. Está utilizando la versión 10+ del sistema operativo Windows
  2. Le gustaría usar varias versiones de Python en la misma computadora
  3. Estás cansado de que Internet te diga "Solo usa Virtualenv"

TL; DR

  1. Abrir Command Prompty entrarpip install virtualenv
  2. Descargue la pythonversión deseada (¡NO agregue a PATH!) Y recuerde la path\to\new_python.exeversión recién instalada
  3. Para crear un virtualenv, abra Command Prompte ingrese

    virtualenv \path\to\env -p path\to\new_python.exe

  4. Si está utilizando PyCharm, actualice el Project Interpretery el Code compatibility inspection.
  5. Para instalar paquetes:

    (I) Activar virtualenv: abrir Command Prompty entrarpath\to\env\Scripts\activate.bat

    (II) Instale los paquetes deseados

    (III) Desactivar con deactivate.

La versión larga; Leer

Prólogo

Si está usando la aplicación Anaconda, este proceso podría ser más fácil usando su GUI. No lo he probado yo mismo, por favor avíseme cómo fue si va por ese camino :)

1. Instale virtualenv

Si ya tiene algunos entornos virtuales o está utilizando Anaconda, asegúrese de que los siguientes pasos se realicen desde fuera de todos estos entornos.

2. Instala Python

Puede descargar Python desde el sitio oficial, por ejemplo, para python3.7.3ir aquí.

Se llama al archivo que debería descargar Windows x86–64 executable installer, o Windows x86 executable installersi por alguna razón está utilizando una ventana de 32 bits.

Una vez finalizada la descarga, abra el archivo ejecutable y aparecerá un mensaje de instalación.

  • NO desea agregar el nuevo Python a su PATH, ya que vamos a tener varias versiones de Python en la misma computadora, y nos gustaría que cada aplicación conociera solo una versión de Python.
  • Utilice la ubicación sugerida predeterminada para el nuevo python o proporcione una ubicación de su elección. De cualquier manera, recuerde esta ubicación y denotémosla de ahora en adelante con C:\\Python37.

3. Crea un virtualenv

Abra el Command Prompt, o si está usando Anaconda abra el Anaconda Prompt.

Decide dónde quieres que esté tu virtualenv, por ejemplo,

C:\Users\\Anaconda3\envs\ .

Entrar:

virtualenv C:\Users\\Anaconda3\envs\ -p C:\\Python37\python.exe

4. Actualizar PyCharm Interpreter

Si está utilizando PyCharm, abra el proyecto en el que le gustaría trabajar (es decir / se escribirá con la nueva versión de Python), File -> Settings -> Project -> Project Interpreterpresione el icono de engranaje y luego Add...

Esto abrirá una ventana emergente que le permitirá definir un nuevo intérprete:

Suponiendo que está utilizando inspecciones de código, es posible que deba decirle a PyCharm qué versión de Python debe inspeccionar. Vaya a File -> Settings-> Editor -> Inspections -> Python -> Code compatibility Inspection, asegúrese de que la casilla en la parte superior indique el proyecto específico en el que está trabajando y marque la casilla de su versión de Python.

5. Instalar paquetes

Actualmente, su virtualenvcontiene solo los paquetes cruciales pipy setuptools. Para instalar más paquetes:

  1. Abra Command Prompto Anaconda Prompty active su virtualenv ingresando

    C:\Users\\Anaconda3\envs\\activate.bat

  2. Úselo pippara instalar paquetes como lo hace habitualmente.
  3. Desactive su virtualenv ingresando deactivate.

Epílogo

Esta mañana, cuando decidí abrir un nuevo proyecto con una versión diferente de Python, pensé, "Sí, solo usaré un virtualenv", porque Internet dijo que puedo "Simplemente hacerlo".

Bueno, está funcionando ahora, así que no hay resentimientos, querida Internet, pero en serio, ¿estaba realmente justificado el "Justo"? ¿La reinstalación-de-PyCharm-sólo-porque-quiero-tener-las-inspecciones-de-código-adecuadas se incluye en la categoría "Solo"?

De todos modos, en el camino me encontré con varios guías útiles, pero cada uno me llevó “solo” un paso del camino, así que decidí ponerlo todo en un solo lugar.

Espero que mi viaje te haya ayudado con el tuyo y que todos podamos disfrutar de la codificación feliz, con la menor fricción posible con las TI: D