J'ai commencé à travailler dans un projet Django et je voudrais définir certaines variables d'environnement sans avoir à les définir manuellement ni avoir un fichier bash à la source.
J'aimerais définir les variables suivantes:
export DATABASE_URL=postgres://127.0.0.1:5432/my_db_name
export DEBUG=1
# there are other variables, but they contain personal information
J'ai lu this , mais cela ne résout pas ce que je veux. De plus, j'ai essayé de définir les variables d'environnement dans Préférences -> Génération, Exécution, Déploiement -> Console -> Console Python / Console Django , mais elle définit les variables pour l'interpréteur.
Vous pouvez définir des variables d'environnement dans le menu des configurations d'exécution de Pycharm.
Ouvrez le sélecteur d’exécution de la configuration en haut à droite et cliquez sur _Edit Configurations...
_
Trouvez _Environmental variables
_ et cliquez sur _...
_
Ajoutez ou modifiez des variables, puis cliquez sur OK
Vous pouvez accéder à vos variables d'environnement avec os.environ
_import os
print(os.environ['SOME_VAR'])
_
J'ai pu comprendre cela en utilisant un plugin PyCharm appelé EnvFile . Ce plugin permet en principe de définir des variables d’environnement pour exécuter des configurations à partir d’un ou de plusieurs fichiers.
L'installation est assez simple:
Préférences> Plugins> Parcourir les dépôts ...> Recherchez "Fichier Env" > Installer le plugin.
Ensuite, j'ai créé un fichier, à la racine de mon projet, appelé environment.env
, qui contient:
DATABASE_URL=postgres://127.0.0.1:5432/my_db_name
DEBUG=1
Ensuite, je suis allé à Run -> Edit Configurations, et j'ai suivi les étapes de l'image suivante:
En 3, j'ai choisi le fichier environment.env
, puis je pouvais simplement cliquer sur le bouton de lecture dans PyCharm, et tout fonctionnait à merveille.
Cette fonctionnalité a été ajoutée à la IDE maintenant (fonctionne Pycharm 2018.3)
Cliquez simplement sur l'onglet EnvFile
dans la configuration d'exécution, cliquez sur Enable EnvFile
et cliquez sur l'icône + pour ajouter un fichier env.
Mise à jour: identique à la réponse de @imguelvargasf mais le plugin a été activé par défaut pour moi.
Je peux voir que toutes les réponses utilisent l’interface graphique pour définir env vars. Cependant, ils semblent se réinitialiser si vous fermez le projet et rouvrez-le. Ce qui fonctionne pour moi sur Linux est de créer un exécutable de terminal et de démarrer pycharm à partir de terminal. De cette façon, il reconnaît toutes les variables env du système.
Étapes pour créer un exécutable de terminal:
Outils -> Créer un lanceur Coomand-line .. -> OK Puis, en exécutant charm
dans le terminal, tous les vars env doivent être reconnus.
DISCLAIMER Cependant, il semble que ce ne soit pas dynamique. Si vous prévoyez de modifier les variables env à mi-parcours, vous devrez peut-être vous en tenir aux réponses ci-dessus. Sinon, je pense que cette solution est plus facile.