Cannot import modules in jupyter notebook; wrong sys.path

前端 未结 3 1192
囚心锁ツ
囚心锁ツ 2021-01-04 02:29

I am having a problem importing modules in my iPython/Jupyter notebook. The problem fundamentally lies in where the sys.path is pointing to.

From the iPython/Jupyte

相关标签:
3条回答
  • 2021-01-04 02:56

    My system is Mac. I came across the same problem.

    I use my anaconda python installed the packages but my jupyter notebook is not using it and cannot import the modules. I solved the problem by following steps:

    Step1: check the actual python path you used to install the packages

    I run which python and it shows the default python I use to install packages:

    ➜  ~ which python
    /Users/my_name/opt/anaconda3/bin/python
    

    Step2: change the jupyter kernel's python path to the above path

    I run jupyter kernelspec list, it shows 2 kernels my jupyter notebook can use:

    Available kernels:
      python3    /Users/my_name/Library/Jupyter/kernels/python3
      python2    /usr/local/share/jupyter/kernels/python2
    

    Since I usually use python3 in my jupyter, then I choose to edit the first kernel's configuration, run: vi /Users/my_name/Library/Jupyter/kernels/python3/kernel.json

    replace the first path as "/Users/my_name/opt/anaconda3/bin/python"(as the which python command shows.)

    {
     "argv": [
      "/Users/my_name/opt/anaconda3/bin/python",
      "-m",
      "ipykernel_launcher",
      "-f",
      "{connection_file}"
     ],
     "display_name": "heterodimers",
     "language": "python"
    }
    

    save and quit the kernel.json file.

    After that, my jupyter notebook can import the packages I installed in the terminal.

    And thanks to Mike's answers because I basically followed his solution to find mine. The difference is that I did not use the conda environment.

    0 讨论(0)
  • 2021-01-04 03:05

    I had the same issue. After going through many (like way too many) solutions to this issue found elsewhere, I manage to figure out a solution that at least works in my case.

    Step1: check the correct executable path of the anaconda environment.

    Go on command line, activate the conda environment that is problematic, and check the correct executable path for the environment.

    conda activate {envronment name};
    then on python console, (>>>)import sys;sys.executable

    For instance on Linux it will be /media/{username}/{path-to}/anaconda3/envs/{environment name}/bin/python

    Step2: correct the executable path for jupyter sessions.

    From command line, check the path where kernel.json of your problematic conda environment is located.

    jupyter kernelspec list

    For instance on Linux it will be: /home/{username}/.local/share/jupyter/kernels/{environment name}

    Open the kernel.json located in that folder and replace the incorrect executable path, as shown below.

    {
     "argv": [
      "REPLACE-THIS-WITH-THE-CORRECT-EXECUTABLE-PATH",
      "-m",
      "ipykernel_launcher",
      "-f",
      "{connection_file}"
     ],
     "display_name": "heterodimers",
     "language": "python"
    }
    
    

    Hope this works in your case too.

    0 讨论(0)
  • 2021-01-04 03:10
    1. Open a new terminal window and see if this helps. If not, proceed with 2.

    2. Start a standard Python session from the terminal and type this:

      >>> import sys
      >>> sys.executable
      
    3. Do the same in the notebook:

      In [1]: import sys
              sys.executable
      
    4. Compare the results. Hopefully, this gives you a clue what is going on.

    0 讨论(0)
提交回复
热议问题