Ho un problema che Jupyter non può vedere la variabile env nel file bashrc, c'è un modo per caricare queste variabili in jupyter o aggiungere la variabile di custome ad esso?Come impostare la variabile env nel taccuino Jupyter
risposta
È possibile le variabili di ambiente di configurazione nel codice come segue:
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')
Questo se, naturalmente, una soluzione temporanea, per ottenere una permanente, probabilmente avete bisogno di esportare le variabili nella vostra ~.profile
, ulteriori informazioni possono essere trovato here
Se si utilizza systemd ho appena scoperto che sembra necessario aggiungerli al file di unità systemd. Questo su Ubuntu 16. Inserendoli nel .profile e nel .bashrc (anche nel file/etc/profile) risultava che ENV Vars non era disponibile nei quaderni di juypter.
ho dovuto modificare:
/lib/systemd/system/jupyer-notebook.service
e mettere nella variabile ho voluto leggere nel file unità come:
Environment=MYOWN_VAR=theVar
e solo allora ho potuto leggere dal di dentro notebook juypter.
Per impostare una variabile env in un notebook jupyter, basta usare un %
comandi magia, sia %env
o %set_env
, ad esempio, %env MY_VAR=MY_VALUE
o %env MY_VAR MY_VALUE
. (Usa %env
da solo per stampare le variabili ambientali attuali.)
See: http://ipython.readthedocs.io/en/stable/interactive/magics.html
Se è necessario il set di variabile prima si sta iniziando il notebook, l'unica soluzione che ha funzionato per me è stato env VARIABLE=$VARIABLE jupyter notebook
con export VARIABLE=value
in .bashrc
.
Nel mio caso tensorflow ha bisogno della variabile esportata per averlo importato con successo in un notebook.
Grazie Kardaj, esportando la variabile in ~/.profile risolto, sembra che non stia leggendo da bashrc che è un po 'strano. –
La risposta di Michael con '% env MY_VAR = MY_VALUE' dovrebbe essere la risposta corretta a questa domanda –