10
votes

Comment définir une variable d'environnement pour l'utilisateur root

Je suis utilisateur Mac.

Je veux définir PythonPath env pour la racine. Donc xxx

et ajouter au fichier 'export pythonpath = / mypythonlib'

xxx

Je peux voir cette ligne xxx

mais.

Lorsque j'utilise la commande sudo, impossible de trouver que xxx

.. il n'y a pas de pythonPath

Mon programme doit fonctionner avec la commande sudo et les besoins pythonpath .


1 commentaires

6 Réponses :


5
votes

Vous devriez essayer sudo -i qui simulera la connexion en tant que root et source the ~ racine / .profile . . .


0 commentaires

9
votes

Si vous utilisez sh Essayez / etc / profil , bash essayer / etc / bashrc / etc / zshenv .


1 commentaires

Une chose à ajouter ... si sur ubuntu , bash essayer /etc/bash.bashrc



1
votes

à partir de 10.8.5, mettre mes relevés d'environnement dans le chemin .profile dans la maison de l'utilisateur root (/ var / racine) fonctionné. Après avoir quitté Bash et revenir à l'invite de l'utilisateur racine avec 'Su -', je pouvais voir mon nouveau chemin, etc. avec la commande «env» et strong> mon installation MacPortsw correctement.

MacBook-Pro:~ root# cat /var/root/.profile
export MANPATH=/opt/local/share/man:$MANPATH
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
MacBook-Pro:~ root# which port
/opt/local/bin/port


0 commentaires

6
votes

Vous pouvez rendre Visible PythonPath pour édition de votre fichier Sudoers. Remarque Vous ne devriez le faire que via Visudo comme expliqué ici .


1 commentaires

La meilleure réponse. En fait, le seul qui fonctionne pour moi.



0
votes

Dans le cas de la connexion en tant qu'utilisateur normal et invoquant "Su - root", j'ai trouvé que Bash de Mac OS 10.8.5 ignorait .Profile et .bash_profile; Je n'ai pas pu changer la voie de la racine en modifiant ces fichiers. Qu'est-ce que le travail a été modifié / etc / chemins? Après avoir sorti la coque racine et entrez à nouveau avec "Su - racine", le nouveau chemin était présent.


0 commentaires