J'ai configuré PyCharm, créé mon virtualenv (soit via la commande virtual env, soit directement dans PyCharm) et activé cet environnement en tant qu'interprète. Tout fonctionne très bien.
Cependant, si j'ouvre un terminal en utilisant "Tools, Open Terminal", l'invite shell fournie n'utilise pas l'environnement virtuel; Je dois encore utiliser source ~/envs/someenv/bin/activate
ce terminal pour l'activer.
Une autre méthode consiste à activer l'environnement dans un shell et à exécuter PyCharm à partir de cet environnement. C'est "réalisable" mais assez moche, et cela signifie que j'ai de gros problèmes si je change d'environnement ou de projet depuis PyCharm: j'utilise maintenant un environnement totalement incorrect.
Existe-t-il un autre moyen beaucoup plus simple pour que "Outils, Open Terminal" active automatiquement l'environnement virtuel?
~/pycharmenv/bin/terminalactivate
semble être une bonne option..pycharmrc
dans le dossier d'accueil du projet, afin de pouvoir avoir un fichier différent pour chaque projet. Dans un projet correctement configuré, il n'est pas nécessaire de fournir le chemin absolu vers le.pycharmrc
fichier.Mettre à jour:
Les préférences dans Paramètres (Préférences) | Outils | Les terminaux sont mondiaux.
Si vous utilisez un venv pour chaque projet, n'oubliez pas d'utiliser la variable de chemin actuelle et un nom venv par défaut:
Pour les utilisateurs Windows: lorsque vous utilisez PyCharm avec un environnement virtuel, vous pouvez utiliser le
/K
paramètre àcmd.exe
pour définir automatiquement l'environnement virtuel.PyCharm 3 ou 4:
Settings
,Terminal
,Default shell
et ajouter/K <path-to-your-activate.bat>
.PyCharm 5:
Settings
,Tools
,Terminal
et ajouter/K <path-to-your-activate.bat>
àShell path
.PyCharm 2016,1 2016,2 ou:
Settings
,Tools
,Terminal
et ajouter""/K <path-to-your-activate.bat>""
àShell path
et ajouter ( l' esprit les guillemets). Ajoutez également des guillemets autour de cmd.exe, ce qui entraîne:"cmd.exe" /k ""C:\mypath\my-venv\Scripts\activate.bat""
la source
%CD%
est le répertoire de travail actuel, voir la commande Windows shell pour obtenir le chemin complet du répertoire actuel?Pour les utilisateurs Windows lors de l'utilisation de PyCharm et d'un environnement virtuel sous Windows, vous pouvez utiliser le paramètre / k sur cmd.exe pour définir automatiquement l'environnement virtuel.
Allez dans Paramètres, Terminal, Shell par défaut et ajoutez
/K <path-to-your-activate.bat>
.Je n'ai pas la réputation de commenter la réponse précédente, donc poster cette version corrigée. Cela fait vraiment gagner beaucoup de temps.
Mettre à jour:
Remarque: Pycharm prend désormais en charge directement les environnements virtuels et cela semble bien fonctionner pour moi - donc ma solution de contournement n'est plus nécessaire.
la source
Sur la base des réponses de Peter et de l'expérimentation, j'ai trouvé une bonne "solution générale", qui résout les problèmes suivants:
Déposez ce script dans un répertoire bin quelque part. Par exemple ~ / bin / pycharmactivate
Ensuite, définissez le chemin Shell de PyCharm sur:
la source
if [ -r "/etc/profile" ] ; then . /etc/profile ; fi if [ -r "~/.bash_profile" ] ; then . ~/.bash_profile elif [ -r "~/.bash_login" ] ; then . ~/.bash_login elif [ -r "~/.profile" ] ; then . ~/.profile fi source ~/learnp/project1/venv/bin/activate
PyCharm 4 intègre désormais des virtualenvs dans l'EDI. Lors de la sélection de votre interpréteur de projet, vous pouvez créer, ajouter ou sélectionner un virtualenv. Ils ont ajouté une "console Python" qui s'exécute dans l'interpréteur de projet configuré.
Plus d'infos ici.
la source
source /path/to/venv/bin/activate
manuellement dans le terminal.Merci Chris, votre script a fonctionné pour certains projets mais pas tous sur ma machine. Voici un script que j'ai écrit et j'espère que tout le monde le trouvera utile.
la source
source /etc/profile
au début du fichier ~ / .pycharmrc (sur Mac Yosemite) 2) Dans Pycharm, éditez Préférences> Outils> Terminal> Chemin du shell vers "/ bin / bash --rcfile ~ / .pycharmrc"J'ai vu toutes les réponses ci-dessus mais aucune d'entre elles n'est assez élégante pour moi. Dans PyCharm 03/01/2017 (dans mon ordinateur), la meilleure façon est d'ouvrir
Settings->Tools->Terminal
et de vérifierShell integration
et d'Activate virtualenv
options.la source
Si vous utilisez la version Windows, c'est assez simple. Si vous disposez déjà de l'environnement virtuel, accédez simplement à son dossier, recherchez le dossier à l'
activate.bat
intérieurScripts
. copiez son chemin complet et collez-le dans le terminal de pycharm puis appuyez surEnter
et vous avez terminé!Si vous devez créer un nouvel environnement virtuel:
Allez dans fichiers> paramètres puis recherchez
project interpreter
, ouvrez-le, cliquez sur le bouton d'engrenage et créez l'environnement où vous voulez, puis suivez le premier paragraphe.la source
activate.bat
pour chacun d'eux?activate.bat
fichiers séparés . si vous aimez la réponse, n'hésitez pas à voter pour;)Scripts
dossier. Pycharm se plaint également que ceactivate.bat
n'est pas un SDK python valideactivate
fichier de commandes à l'intérieur. ou si c'est possible pour vous, allez simplement avec la création d'un nouvel environnement.Sur Mac, c'est PyCharm => Préférences ... => Outils => Terminal => Activer virtualenv , qui devrait être activé par défaut.
la source
Je viens d'ajouter un script nommé pycharmactivate à mon répertoire personnel. Définissez la valeur de PyCharm (4.0.1) File> Settings> Tools> Terminal> Shell path to / bin / bash --rcfile ~ / pycharmactivate. Peut-être pas la meilleure solution dans le cas où vous avez différents répertoires / noms de projets et de virtualenv, mais cela fonctionne pour moi. Ce script contient les 3 lignes suivantes et suppose que votre virtualenv a le même nom que votre répertoire de projet.
la source
Suite à la réponse de Peter, voici la version Mac du
.pycharmrc
fichier:Poule
la source
J'ai une solution qui a fonctionné sur ma machine Windows 7.
Je pense que le terminal de PyCharm est le résultat de son exécution
cmd.exe
, qui chargera laPATH
variable Windows et utilisera la version de Python qu'il trouve en premier dans ce dernierPATH
. Pour modifier cette variable, cliquez avec le bouton droit sur Poste de travail -> Propriétés -> Paramètres système avancés -> onglet Avancé -> bouton Variables d'environnement ... Dans la section Variables système , sélectionnez et modifiez laPATH
variable.Voici la partie pertinente de mon
PATH
avant l' édition:... et après édition
PATH
(seulement 3 lignes maintenant):Pour tester cela, ouvrez un nouveau terminal Windows ( Démarrer -> tapez
cmd
et appuyez sur Enter) et voyez s'il utilise votre environnement virtuel. Si cela fonctionne, redémarrez PyCharm , puis testez-le dans le terminal de PyCharm.la source
voici ce que je fais: créer un fichier activate_env.bat (windows, peut-être .sh sous linux) dans le fichier de code source:
et un autre fichier deactivate_env.bat:
à chaque fois que vous ouvrez la fenêtre du terminal, exécutez simplement le fichier bat pour activer / désactiver le virtualenv, vous resterez dans le chemin du code source, pas besoin de changer le chemin vers et inversement.
la source
Si votre Pycharm 2016.1.4v et supérieur, vous devez utiliser
"default path" /K "<path-to-your-activate.bat>"
n'oubliez pas les guillemetsla source
Si vous avez déplacé votre projet vers un autre répertoire, vous pouvez définir le nouveau chemin via la boîte de dialogue Paramètres. Et puis vous devez définir cet interpréteur de projet dans la boîte de dialogue Modifier la configuration.
la source
Une autre alternative consiste à utiliser virtualenvwrapper pour gérer vos environnements virtuels. Il semble qu'une fois le script virtualenvwrapper activé , pycharm peut l'utiliser, puis la
workon
commande simple sera disponible à partir de la console pycharm et vous présentera les environnements virtuels disponibles:la source
Cette méthode doit fonctionner avec des environnements virtuels arbitraires par projet et elle ne fait pas d'hypothèses sur votre environnement car elle utilise les hooks que vous créez.
Vous écrivez:
Étant donné que le dernier PyCharm (Community 2016.1) n'autorise pas les paramètres de terminal par projet, commencez par le script qui appelle le hook spécifique au projet. C'est mon
~/.pycharmrc
:Si vous utilisez autre chose que Bash, invoquez votre propre
.bash_profile
équivalent si vous le souhaitez.Réglez maintenant votre PyCharm "Tools -> Terminal -> Shell Path" pour appeler ce script, par exemple:
/bin/bash --rcfile ~/.pycharmrc
Enfin, pour chaque projet PyCharm, vous avez besoin d'un environnement virtuel spécifique activé, créez un fichier dans la racine du projet PyCharm
.pycharm/term-activate
. Ceci est votre hook et il définira simplement le nom de l'environnement virtuel souhaité pour votre projet PyCharm:Vous pouvez bien sûr étendre vos hooks avec tout ce que vous trouvez utile dans l'environnement terminal de votre projet PyCharm particulier.
la source
Pour les environnements virtuels conda sous Windows, assurez-vous que votre fichier de commandes n'est PAS nommé
activate.bat
car cela entraînera un conflit avec laactivate
commande conda , entraînant un appel récursif du fichier de commandes.Ce qui fonctionne pour moi, c'est le chemin Shell suivant:
Et dans le fichier activate-env.bat:
la source
Je voulais un environnement virtuel séparé pour chaque projet et je ne me souciais pas beaucoup d'avoir des fichiers supplémentaires pour faciliter cela. Une solution que vous n'avez besoin de faire qu'une seule fois et qui fonctionne pour tous les projets consiste ensuite à ajouter les éléments suivants à votre
.bashrc
ou.bash_profile
:Cela vérifie s'il existe un environnement virtuel dans lequel le terminal est ouvert, et si c'est le cas, il l'active (et bien sûr d'autres chemins relatifs pourraient être utilisés). Les paramètres du terminal de PyCharm peuvent être laissés par défaut.
la source
PyCharm 4.5.4
Je ne sais pas pourquoi, mais cela ne fonctionne pas pour moi. PyCharm imprime une erreur.
cmd.exe /K "<path-to-your-activate.bat>"
Cela fonctionne, mais cela crée la même virtualenv pour chaque projet, et même si ce n'est pas nécessaire.Ce reçu fonctionne! Mais la chaîne
/env_yourenvlocate/scripts/activate.bat
doit contenir des guillemets, comme ceci"Full_path_to_your_env_locate\scripts\activate.bat"
!Désactiver le virtualenv est très simple - tapez dans le terminal 'désactiver'
la source
Solution pour WSL (Ubuntu sous Windows)
Si vous utilisez WSL (Ubuntu sous Windows), vous pouvez également ouvrir bash en tant que terminal dans pycharm et activer un Linux virtualenv.
Utilisez un
.pycharmrc
fichier comme décrit dans la réponse de Peter Gibson; Ajoutez le.pycharmrc
fichier à votre répertoire personnel avec le contenu suivant:Dans Fichier Pycharm > Paramètres> Outils> Terminal, ajoutez le `` chemin Shell '' suivant:
Virtualenv spécifique au projet
Le chemin vers votre virtualenv dans
.pycharmrc
n'a pas à être absolu. Vous pouvez définir un virtualenv spécifique à un projet en définissant un chemin relatif à partir du répertoire de votre projet. Mon virtualenv est toujours situé dans un dossier 'venv' sous mon répertoire de projet, donc mon.pycharmrc
fichier ressemble à ceci:BONUS: ouvrir automatiquement le tunnel ssh pour connecter virtualenv en tant qu'interpréteur de projet
Ajoutez ce qui suit à votre
.pycharmrc
fichier:Cela vérifie si un tunnel ssh est déjà ouvert et en ouvre un dans le cas contraire. Dans Fichier -> Paramètres -> Projet -> Interpréteur de projet dans Pycharm, ajoutez un nouvel interpréteur distant avec la configuration suivante:
Désormais, lorsque vous ouvrez votre projet, votre bash démarre automatiquement dans votre virtualenv, ouvre un tunnel ssh et pycharm connecte virtualenv en tant qu'interpréteur distant.
avertissement: la dernière mise à jour de Windows démarre automatiquement un service SshBroker et SshProxy au démarrage. Ceux-ci bloquent le tunnel ssh de Linux vers Windows. Vous pouvez arrêter ces services dans le Gestionnaire des tâches -> Services, après quoi tout fonctionnera à nouveau.
la source
Une option que vous avez lorsque vous entrez dans le terminal> Exécuter> Déboguer> Modifier les configurations
sélectionnez l'environnement conda approprié. Aussi, lorsque vous créez un nouveau projet - il vous demande de configurer cet emplacement.
la source