IPython/Jupyterノートブックでのモジュールのインポートに問題があります。基本的に問題は、sys.pathが指している場所にあります。
IPython/Jupyterノートブックから、sys.executable
戻り値:
'/usr/bin/python'
ただし、コマンドラインからは次を返します。
'//anaconda/bin/python'
Anacondasのアンインストールと再インストールを試みましたが、問題はまだ残っています。
また、bash_profileの$ PYTHONPATHを拡張して// anaconda/bin/pythonを追加しようとしましたが、これで解決しません。
とにかく、単にsys.path.append(...)を使用せずに、jupyterノートブックのsys.pathを永続的に変更する方法はありますか?
新しいターミナルウィンドウを開き、これが役立つかどうかを確認します。そうでない場合は、2に進みます。
ターミナルから標準のPythonセッションを開始し、次のように入力します。
>>> import sys
>>> sys.executable
ノートブックで同じことを行います:
In [1]: import sys
sys.executable
結果を比較します。うまくいけば、これはあなたに何が起こっているのか手掛かりを与えます。
同じ問題がありました。他の場所で見つかったこの問題に対する多くの(あまりにも多くのような)解決策を試した後、少なくとも私の場合に機能する解決策を見つけ出すことができました。
コマンドラインに移動し、問題のあるconda環境をアクティブ化し、環境の正しい実行可能パスを確認します。
conda activate {envronment name};
次にpython console、(>>>)import sys;sys.executable
たとえばLinuxでは/media/{username}/{path-to}/anaconda3/envs/{environment name}/bin/python
になります
コマンドラインから、問題のあるconda環境のkernel.json
が配置されているパスを確認します。
jupyter kernelspec list
たとえば、Linuxでは次のようになります:/home/{username}/.local/share/jupyter/kernels/{environment name}
以下に示すように、そのフォルダーにあるkernel.json
を開き、誤った実行可能ファイルのパスを置き換えます。
{
"argv": [
"REPLACE-THIS-WITH-THE-CORRECT-EXECUTABLE-PATH",
"-m",
"ipykernel_launcher",
"-f",
"{connection_file}"
],
"display_name": "heterodimers",
"language": "python"
}
これがあなたのケースでもうまくいくことを願っています。