2016-06-17 16 views

Antwort

8

können Sie Setup-Umgebungsvariablen in Ihrem Code wie folgt:

import sys,os,os.path 
sys.path.append(os.path.expanduser('~/code/eol_hsrl_python')) 
os.environ['HSRL_INSTRUMENT']='gvhsrl' 
os.environ['HSRL_CONFIG']=os.path.expanduser('~/hsrl_config') 

Dieses wenn natürlich eine temporäre Lösung, eine dauerhafte eins zu bekommen, müssen Sie wahrscheinlich die Variablen in Ihrem ~.profile, mehr Informationen exportieren gefunden werden here

+1

Dank Kardaj, exportieren die Variable in ~/.Profil löste es, scheint, dass es nicht liest von bashrc was irgendwie komisch ist. –

+1

Michaels Antwort mit '% env MY_VAR = MY_VALUE' sollte die richtige Antwort auf diese Frage sein –

1

Wenn Sie Systemd verwenden, habe ich gerade herausgefunden, dass Sie scheinen, sie zur Systemd-Unit-Datei hinzuzufügen. Dies auf Ubuntu 16. Das Einfügen in die .profile und .bashrc (sogar das/etc/profile) führte dazu, dass die ENV Vars nicht in den Juypter-Notebooks verfügbar waren.

Ich hatte zu bearbeiten:

/lib/systemd/system/jupyer-notebook.service 

und in den Variablen i wie in der Unit-Datei lesen wollte setzen:

Environment=MYOWN_VAR=theVar 

und erst dann konnte ich es von innen juypter Notebook lesen.

0

Wenn Sie die Variable Set benötigen, bevor Sie das Notebook erst anfangen, ist die einzige Lösung, die für mich gearbeitet wurde env VARIABLE=$VARIABLE jupyter notebook mit export VARIABLE=value in .bashrc.

In meinem Fall benötigt Tensorflow die exportierte Variable für den erfolgreichen Import in ein Notebook.