Réglage PYTHONPATH sur Windows dans Anaconda sans privilèges élevés
J'ai une machine Windows 7 avec la version 32 bits d'installer d'anaconda, installé pour l'utilisateur local. L'installation fonctionne comme prévu: il me permet de lancer python et pip à partir de la ligne de commande, interrupteur environnements, etc.
J'ai aussi une bibliothèque de code que j'ai écrit, assis dans Mes Documents. Je voudrais ajouter une entrée de type C:\Users\username\Documents\MyLib
à mon PYTHONPATH
. Ce ne serait normalement pas un problème, mais je n'ai pas les privilèges élevés que cela (fourni) ordinateur nécessite de modifier les variables d'environnement par le biais de l'INTERFACE utilisateur Windows.
Je suis à la recherche d'un moyen de fixer le PYTHONPATH. J'ai seulement besoin de travailler à l'intérieur de l'anaconda de l'environnement (c'est à dire, je veux juste être en mesure d'importer ma bibliothèque à l'aide de qui l'interprète). Les Solutions à l'aide de sys.path.append
dans mes scripts ne sont pas acceptables. Cependant, je suis OK avec le fait de sys.path.append
dans un script qui sera exécuté automatiquement à chaque fois que j'exécute python myscript.py
.
Je soupçonne qu'il y a un moyen de contourner le privilège des restrictions imposées par le biais de l'INTERFACE utilisateur de Windows, parce que l'exécution de conda info -a
montre que le programme d'installation Anaconda a été capable d'insérer des éléments dans le PATH
, plus précisément, C:\Users\username\AppData\Local\Continuum\Anaconda3\Library\bin;...
.
- Je vais essayer d'aller à travers les comptes d'utilisateur et de voir ce qui se passe. Merci pour cette astuce. Aussi loin que l'utilisation d'un script de commandes va, je ne sais pas comment le faire fonctionner automatiquement avant tout code Python exécute.'
cmd.exe
- J'ai mal compris votre question. J'utilise à la fois cmd et spyder pour la plupart, mais aussi IPython et bash. Cependant, votre solution de passer par les paramètres du compte d'utilisateur a parfaitement fonctionné. Pourriez-vous écrire une réponse basée sur cette (peut-être inclure les infos à propos de l'écriture d'un remplacement de la commande cmd pour les futurs lecteurs en tant que bien)?
Vous devez vous connecter pour publier un commentaire.
Dans la fenêtre Panneau de configuration pour modifier des comptes d'utilisateur, il devrait y avoir une option pour modifier les variables d'environnement juste pour l'utilisateur actuel. C'est cassé sur certaines versions de Windows, mais si ça fonctionne c'est l'option la plus simple.
Si cela ne fonctionne pas, la prochaine option la plus simple est d'utiliser setx.exe dans une invite de commande. La valeur par défaut pour l'utilisateur actuel. Par exemple:
Vous pouvez également utiliser reg.exe pour définir la variable manuellement dans le registre. Mais à la différence des options ci-dessus, ce n'est pas la diffusion d'un
WM_SETTINGCHANGE
message pour les fenêtres de niveau supérieur. Lorsque l'Explorateur voit ce message qu'il recharge son environnement à partir de la base de registre. Sans elle, vous allez devoir vous déconnecter et reconnecter pour voir la mise à jour de la variable d'environnement. Cela dit, voici un exemple de commande à l'aide de reg.exe:Je ne suis pas un fan de permanence
PYTHONPATH
parce que la même variable est utilisée par toutes les versions de Python. Je préfère créer un raccourci vers un script batch qui permet de configurer l'environnement de la façon dont j'en ai besoin pour une tâche spécifique. Par exemple:Créer un raccourci vers ce script batch. Ensuite, cliquez-droit sur le raccourci et sélectionnez "Propriétés". Modifier la cible pour exécuter
cmd.exe /k "path\to\the\script.bat"
.Puisque vous l'avez dit, vous avez le plus souvent utiliser Spyder, les éléments suivants peuvent être utiles:
Spyder offre la possibilité de gérer PYTHONPATH grâce à un système intégré manager.