66 votes

Comment lancer python Idle depuis un environnement virtuel (virtualenv)

J'ai un package que j'ai installé à partir d'un environnement virtuel. Si je lance simplement l'interpréteur python, ce package peut être importé très bien. Cependant, si je lance Idle, ce package ne peut pas être importé (car il n'est disponible que dans un virtualenv particulier et non global). Comment puis-je lancer Idle à partir d'un virtualenv, afin que tous les packages du virtualenv soient disponibles ?

42voto

9000 Points 13242

Pour Python 3.6+, veuillez consulter la réponse de Paul Wicking ci-dessous .

En Python avant 3.6, IDLE est essentiellement

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

Vous pouvez donc le lancer vous-même à moins que vous n'ayez construit le virtualenv sans packages par défaut.

10voto

Paul Wicking Points 181

Python 3.6 modernisé et refactorisé idlelib . Ce changement comprenait le changement de nom de plusieurs méthodes. Pour cette raison, idlelib.PyShell doit maintenant être accessible avec idlelib.pyshell . L'extrait suivant est basé sur la réponse acceptée et devrait fonctionner pour n'importe quelle version 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()

6voto

arsho Points 2995

J'utilise le système d' exploitation Ubuntu 15.04. J'ai installé des packages à l'aide de virtualenv .

Donc, pour exécuter les fichiers à l'intérieur de virtualenv, y compris ces packages, j'utilise les commandes suivantes dans le terminal

(Le nom de mon environnement virtuel est venv ):

 #Activate the virtualenv venv
source venv/bin/activate

#To Run IDLE in virtualenv venv
python -m idlelib

Après avoir exécuté IDLE , vous pouvez ouvrir le fichier à l'aide du raccourci clavier ctrl+o.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X