2016-06-17 10 views

Odpowiedz

8

Można zmienne środowiskowe ustawień w kodzie następująco:

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') 

to jeśli oczywiście tymczasowym rozwiązaniem, aby uzyskać trwały jeden, prawdopodobnie trzeba wyeksportować zmienne w swojej ~.profile, więcej informacji można można znaleźć here

+1

Dzięki Kardaj, eksportowanie zmiennej w ~/.profile rozwiązało ją, wydaje się, że nie jest to czytanie z bashrc, co jest dość dziwne. –

+1

Odpowiedź Michaela z '% env MY_VAR = MY_VALUE' powinna być poprawną odpowiedzią na to pytanie –

1

Jeśli używasz systemd, właśnie się dowiedziałem, że musisz dodać je do pliku systemd. To na Ubuntu 16. Umieszczenie ich w .profile i .bashrc (nawet w/etc/profile) spowodowało, że ENV Vars nie są dostępne w notatkach juyptera.

miałem do edycji:

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

i umieścić w zmiennej chciałem przeczytać w pliku jednostkowych takich jak:

Environment=MYOWN_VAR=theVar 

i dopiero wtedy mogłem przeczytać go od wewnątrz juypter notebooka.

0

Jeśli potrzebujesz zmiennej zestaw zanim zaczynasz notebooka, jedynym rozwiązaniem, które pracował dla mnie było env VARIABLE=$VARIABLE jupyter notebook z export VARIABLE=value w .bashrc.

W moim przypadku tensorflow potrzebuje eksportowanej zmiennej do udanego importowania jej do notatnika.