tutorial salir para paquetes instalar entorno crear ambiente activar python virtualenv python-idle

python - para - salir de virtualenv



Cómo iniciar Python Idle desde un entorno virtual(virtualenv) (8)

Tengo un paquete que instalé desde un entorno virtual. Si acabo de lanzar el intérprete de Python, ese paquete se puede importar muy bien. Sin embargo, si inicio Idle, ese paquete no se puede importar (ya que solo está disponible en un virtualenv particular y no global). ¿Cómo puedo ejecutar Idle desde un virtualenv, para que todos los paquetes de virtualenv estén disponibles?


@biomed Estoy en Windows y estaba intentando esto. En mi carpeta python2.6 tuve que copiar las carpetas python26 / tcl / tcl8.5 y python / tcl / tk8.5 a python26 / Lib y luego creé el script arriba en la carpeta de scripts de mi virtualenv. Funcionó muy bien.


En Windows, un script de Python ejecutado desde una línea de comandos como este some_script.py puede ser ejecutado por otro intérprete de Python que el utilizado cuando se utiliza el comando python some_script.py (depende de la asociación de archivos py ). Si uno quiere evitar este problema, es mejor crear un archivo por lotes idle.bat con el contenido python -c "from idlelib.PyShell import main; main()" y colocarlo en la carpeta Scripts en virtualenv. Además, al igual que otros, señaló inactivo, las carpetas tcl y tk deben funcionar. La solución más simple es crear enlaces simbólicos desde virtualenv a la instalación básica de Python como esta

(2.7) c:/python/virtualenv/2.7/Lib>mklink /d tcl8.5 "c:/Program Files/Python/2.7/tcl/tcl8.5" symbolic link created for tcl8.5 <<===>> c:/Program Files/Python/2.7/tcl/tcl8.5 (2.7) c:/python/virtualenv/2.7/Lib>mklink /d tk8.5 "c:/Program Files/Python/2.7/tcl/tk8.5" symbolic link created for tk8.5 <<===>> c:/Program Files/Python/2.7/tcl/tk8.5


Estoy usando el sistema operativo Ubuntu 15.04 . He instalado algunos paquetes usando virtualenv .

Entonces, para ejecutar los archivos dentro de virtualenv incluyendo esos paquetes, uso los siguientes comandos en la terminal

(El nombre de mi entorno virtual es venv ):

#Activate the virtualenv venv source venv/bin/activate #To Run IDLE in virtualenv venv python -m idlelib

Después de ejecutar el IDLE , puede abrir el archivo usando el atajo de teclado ctrl + o .


IDLE es esencialmente

from idlelib.PyShell import main if __name__ == ''__main__'': main()

Entonces puede ejecutarlo usted mismo a menos que haya creado virtualenv sin paquetes predeterminados.


Para mí, lanzar algo así simplemente funciona (terminal Linux):

source venv/bin/activate && python `which idle` &

(venv es camino a su venv obviamente)


Poniendo algunas respuestas juntas y aquí es cómo hago esto en la ventana con un archivo por lotes completamente funcional.

Haga idle.bat en el directorio de Scripts de su virtualenv. Creará (a menos que existan) ambos enlaces a tcl y tk (versión 8.5 desde el momento de la escritura) y los colocará en el directorio Lib de virtualenv y luego se desactivará. Copie y pegue este código exactamente en un editor. Cambie los nombres de ruta para su instalación actual de Virtualenv y Python (el mío es el estándar para 2.7) y guárdelo en Scripts / idle.bat.

IF EXIST C:/<path to current virtualenv>/Lib/tcl8.5 ( REM do nothing ) ELSE ( mklink /d C:/<path to current virtualenv>/Lib/tcl8.5 "c:/Python27/tcl/tcl8.5" ) IF EXIST C:/<path to current virtualenv>/Lib/tk8.5 ( REM do nothing ) ELSE ( mklink /d C:/<path to current virtualenv>/Lib/tk8.5 "c:/Python27/tcl/tk8.5" ) python -c "from idlelib.PyShell import main; main()"

Ejecute la secuencia de comandos con Powershell (¡EJECUTAR COMO ADMINISTRADOR) para abrir inactivo.

cd c:/<path to current virtualenv>/ ./Scripts/idle.bat


Python 3.6 modernizado y refactorizado idlelib . Este cambio incluyó el cambio de nombre de varios métodos. Debido a esto, ahora se debe acceder a idlelib.pyshell con idlelib.pyshell . El siguiente fragmento se basa en la respuesta aceptada y debería funcionar para cualquier versión de Python:

#!/usr/bin/env python """Simple script to run Idle from a venv in PyCharm.""" try: # Import for Python pre 3.6 from idlelib.PyShell import main except ModuleNotFoundError: # Import for Python version 3.6 and later from idlelib.pyshell import main if __name__ == ''__main__'': main()


./(virtualenv dir)/Scripts/activate.bat script ./(virtualenv dir)/Scripts/activate.bat desde la línea de comandos, y luego hago:

python -m idlelib.idle

De esta respuesta .