0

我通過做jupyter notebook開始筆記本電腦,然後創建一個新的筆記本。系統變量何時在IPython內核中更新?

然後,我去到終端,而我設置PATH:

export PATH=$PATH:<absolute path> 

但是,後來當我回到IPython的筆記本電腦,我嘗試打印這個新的系統變量:

import os 
print(os.environ["PATH"].split(os.pathsep)) 

但是,我沒有看到我剛剛添加的我的<absolute path>

我甚至嘗試重新啓動內核,但這根本沒有幫助。我能做什麼?謝謝。

編輯

我試圖通過終端做刷新我的環境變量:bash --login,但這並沒有幫助的。

此外,還有一點就是特別之處是,當我在IPython中它手動添加到系統路徑:

os.environ['PATH'] = os.environ['PATH'] + os.pathsep + <absolute path> 

...它工作在筆記本和內核,我加入它的罰款。但是,當我啓動另一個IPython內核時,它不再位於PATH中。我想在osx

+1

環境變量在進程啓動時被繼承。所以IPython內核從Jupyter筆記本服務器獲取它們,從服務器上運行'jupyter notebook'的shell。一旦啓動後,您無法更改另一個進程的環境變量。您可以更改IPython內核中的'os.environ',或者停止筆記本服務器,然後從已經進行更改的shell中重新啓動它。 –

+0

作爲答案,我會接受。 – simple

回答

1

當您在終端做

export PATH=$PATH:<absolute path> 

,它只是在這個終端會話有效。也就是說,這個export命令對其他終端會話沒有影響。

如果你希望你的PATH環境是有效的一路,你需要編輯您的.bashrc文件,並

source ~/.bashrc 

來激活它。

+0

這並不能解決問題。 – simple

+0

對不起。該問題可能由服務器設置引起。檢查https://github.com/jupyterhub/jupyterhub/issues/227的任何想法? – rojeeer