Comment exécuter Spyder en environnement virtuel?
J'ai utilisé Spyder installé avec la distribution Anaconda qui utilise Python 2.7 par défaut. Actuellement, je dois mettre en place un environnement virtuel de développement avec Python 3.4.
les deux principales suggestions Après recherche en ligne sont:
- pour configurer l'environnement virtuel en premier et changer les préférences de Spyder , E. g ici ;
- pour installer toutes les dépendances Spyder, comme PyQt4, dans l'environnement virtuel lui-même, E. G. ici ;
les deux recommandations sont lourdes et ne ressemblent pas à des options intelligentes pour le développement.
y a-t-il une solution qui permettrait D'exécuter Spyder avec la version Python requise automatiquement après avoir activé l'environnement virtuel requis?
6 réponses
il y a une option pour créer des environnements virtuels dans Anaconda avec la version Python requise.
conda create -n myenv python=3.4
pour l'activer:
source activate myenv # (in linux, you can use . as a shortcut for "source")
activate myenv # (in windows - note that you should be in your c:\anaconda2 directory)
mise à JOUR . Je l'ai testé avec Ubuntu 18.04. Maintenant, vous devez installer spyder en outre pour le nouvel environnement avec cette commande (après l'activation de l'environnement avec la commande ci-dessus):
conda install spyder
(j'ai aussi testé l'installation avec pip, mais pour Python 3.4 ou des versions plus anciennes, il casse avec l'erreur de dépendances de bibliothèque qui nécessite une installation manuelle.)
et maintenant pour lancer Spyder avec Python 3.4 tapez juste:
spyder
en plus de la réponse de tomaskazemekas: vous devez installer spyder dans cet environnement virtuel par:
conda install -n myenv spyder
(sur Windows, Pour Linux ou MacOS, vous pouvez rechercher des commandes similaires)
Voici un moyen rapide de le faire en 2018. En utilisant le navigateur Anaconda:
- Ouvrir Anaconda Navigator
- créez votre nouvel environnement comme vous le souhaitez. J'ai appelé cet environnement "test". Cliquez dessus pour l'activer.
- allez à" Accueil "et cliquez sur" installer " sous la boîte Spyder.
- , Cliquez Sur "Démarrer/Exécuter"
il y a encore quelques bugs mineurs lors de la configuration de votre environnement (dont la plupart sont résolus en redémarrant le navigateur), si vous trouvez un bug, veuillez le poster dans Anaconda Issues bug-tracker. Grâce.
ne fonctionne pas, le navigateur peut encore être utile, cliquer sur >Enviroments vous amène à une fenêtre de gestion pour les modules installés sur un tel enviroment, rechercher et sélectionner les modules liés à spyder, puis cliquer sur Appliquer les installera et leurs dépendances.
ce qui a fonctionné pour moi:
- exécuter spyder de l'environnement (d'après source activer)
- allez à Outils -- > Préférences -- > interpréteur python et sélectionnez le fichier python dans l'env que vous souhaitez lier à
spyder
ex : /home/vous/anaconda3/env/your_env/bin/python
a travaillé sur ubuntu 16, spyder3, python3.6.
les réponses ci-dessus sont correctes mais j'appelle spyder
dans mon virtualenv utiliserait toujours mon PATH
pour chercher la version de spyder dans mon Anaconda env par défaut. J'ai trouvé cette réponse qui a donné la solution suivante:
source activate my_env # activate your target env with spyder installed
conda info -e # look up the directory of your conda env
find /path/to/my/env -name spyder # search for the spyder executable in your env
/path/to/my/env/then/to/spyder # run that executable directly
j'ai choisi ceci plutôt que de modifier PATH
ou d'ajouter un lien vers l'exécutable à une priorité plus élevée dans PATH
car j'ai senti que c'était moins susceptible de briser d'autres programmes. Cependant, Je a ajouté un alias à l'exécutable dans ~/.bash_aliases
.
j'ai juste eu le même problème en essayant de faire tourner Spyder dans un environnement virtuel.
la solution est simple:
activez votre environnement virtuel.
puis pip installent Spyder et ses dépendances (PyQt5) dans votre environnement virtuel.
Lancez alors Spyder3 à partir de votre environnement virtuel CLI.
ça me va maintenant.