0

jupyter notebookを実行してノートブックを起動し、新しいノートブックを作成しました。システム変数はいつIPythonカーネルで更新されますか?

import os 
print(os.environ["PATH"].split(os.pathsep)) 
:私はIPythonのノートブックに戻るときに、私はこの新しいシステム変数を印刷しようと、

export PATH=$PATH:<absolute path> 

しかし:

その後、私はターミナルに行き、私はPATHを設定します

しかし、私はちょうど私が追加した私の<absolute path>が表示されません??

私はカーネルを再起動しようとしましたが、これはまったく役に立ちません。私に何ができる?ありがとうございました。

EDIT

私が行って、端子を介して、私の環境変数を更新しようとした:bash --loginをするが、これは全く役に立ちませんでした。

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

を...それは私がこれを追加しましたノートPCやカーネルで正常に動作します:

また、これについて特有のものであり、他の事は、私はipythonで手動でシステムパスに追加するときということです。しかし、別のIPythonカーネルをスピンアップすると、もうPATHにはありません。

私はosxです。

+1

環境変数は、プロセスの開始時に継承されます。したがって、IPythonカーネルはJupyterノートブックサーバーからそれらを取得します。Jupiterノートブックサーバーは、 'jupyter notebook'を実行したシェルから取得します。他のプロセスが開始されると、環境変数を変更することはできません。 IPythonカーネル内で 'os.environ'を変更するか、ノートブックサーバを停止して、すでに変更を加えたシェルから再度起動することができます。 –

+0

と答えて、私は受け入れます。 – simple

答えて

1

あなたはターミナルで

export PATH=$PATH:<absolute path> 

を行うと、それはこのターミナルセッションでのみ有効です。すなわち、このexportコマンドは、他のターミナルセッションに影響を与えません。

あなたのPATH環境がずっと効果的になりたい場合は、それをアクティブにするために、あなたの.bashrcファイルを編集し、

source ~/.bashrc 

する必要があります。

+0

これは問題を解決しません。 – simple

+0

申し訳ありません。この問題は、サーバーの設定によって発生する可能性があります。ご意見はhttps://github.com/jupyterhub/jupyterhub/issues/227で確認してください。 – rojeeer

関連する問題