Running Jupyter notebook in a virtualenv: installed sklearn module not available

前端 未结 7 2107
小蘑菇
小蘑菇 2020-12-13 09:33

I have installed a created a virtualenv machinelearn and installed a few python modules (pandas, scipy and sklearn) in that environment.

When I run

相关标签:
7条回答
  • 2020-12-13 10:14

    Assuming that jupyter is installed on your machine, not on the virtual environtment.

    Using a virtual environment with Jupyter notebook

    VENV_NAME = "YOUR VIRTUAL ENV NAME"

    1) virtualenv VENV_NAME

    2) source venv/bin/activate

    3) Add this package if not present: pip3 install ipykernel

    4) Then execute this command: ipython kernel install --user --name=VENV_NAME

    5) Now open up the Jupyter Notebook and in change kernel select VENV_NAME

    6) To install a new package perform pip3 install <PACKAGE NAME> in your terminal and repeat step 4.

    Hope it helps!

    0 讨论(0)
  • 2020-12-13 10:20

    You probably have not installed jupyter / IPython in your virtualenv. Try the following:

    python -c "import IPython"
    

    and check that the jupyter command found in your $PATH is the one from the bin folder of your venv:

    which jupyter
    

    For windows users in a powershell console, you can use the following to check that the jupyter command in your $env:Path is the one from the Scripts folder of you venv:

    get-command jupyter
    

    Edit: if this is the problem, just run python -m pip install jupyter in your venv.

    Edit 2: actually you might also need:

    python -m ipykernel install --user --name=my-virtualenv-name
    

    and then switch the kernel named "my-virtualenv-name" in the jupyter user interface.

    0 讨论(0)
  • 2020-12-13 10:24

    Another approach to take is to have one global jupyter installation, but to point to different kernels to run as the backend.

    That approach is outlined here in their docs: http://help.pythonanywhere.com/pages/IPythonNotebookVirtualenvs

    Copying below in case the link breaks: You can use a virtualenv for your IPython notebook. Follow the following steps:

    Install the ipython kernel module into your virtualenv

    workon my-virtualenv-name  # activate your virtualenv, if you haven't already
    pip install ipykernel
    

    Now run the kernel "self-install" script:

    python -m ipykernel install --user --name=my-virtualenv-name
    

    Replacing the --name parameter as appropriate.

    You should now be able to see your kernel in the IPython notebook menu: Kernel -> Change kernel and be able so switch to it (you may need to refresh the page before it appears in the list). IPython will remember which kernel to use for that notebook from then on.

    0 讨论(0)
  • 2020-12-13 10:26

    Creation of virtualenv with python3 -m venv command

    I had the same problem as yours. In my case I had created the virtualenv with the command

    python3 -m venv ./my_virtual_env --system-site-packages
    

    The problem was I could not install jupyter inside the virtual environment as it was already in the system-site-package (when you try to install it, it tells you "Requirement already satisfied").

    To install jupyter, (and in a first instance pip, that does not get installed neither in your virtual environment with this command) but still have access to system-site-package you can run :

    python3 -m venv ./my_virtual_env
    

    Activate you virtual environment, run pip3 install jupyter (and pip3 install pip) and then turn on the option include-system-site-packages in the file ./my_virtual_env/pyvenv.cfg.

    After deactivation and reactivation of you environment, you will have access to system site-packages.

    Creation of virtualenv with virtualenv command

    Given this answer you can prevent the access to system site-packages by creating a file ./my_virtual_env/lib/python3.4/no-global-site-packages.txt, and get the access back by removing it.

    0 讨论(0)
  • 2020-12-13 10:29

    Solution without adding a new kernel globally!!

    1. create a new virtual environment by
    python3 -m virtualenv envname
    
    
    1. Activate your enviroment and install jupyter in it by
    pip install jupyter
    

    One thing you have to make sure before installing jupyter is that you don't have following packages already installed in it.

    ipykernel             
    ipython               
    ipython-genutils      
    ipywidgets            
    jupyter               
    jupyter-client        
    jupyter-console     
    jupyter-core 
    

    If you've previously installed them then first uninstall them by pip uninstall.

    1. Install your desired packages in activated virtualenv and launch jupyter in it and voila!
    0 讨论(0)
  • 2020-12-13 10:33

    To use Jupyter notebook with virtual environment (using virtualenvwrapper) plus packages installed in that environment, follow steps below:

    1. create a virtual environment

      mkvirtualenv --no-site-packages --python=/your/python/path your_env_name
      
    2. Activate the virtual environment

      workon your_env_name
      
    3. Install Jupyter and other packages

      pip install jupyter, numpy
      
    4. Add a new kernel to your Jupyter config

      ipython kernel install --user --name=your_env_name
      
    5. Done. You may now use Jupyter notebook under the virtual environment.

      jupyter-notebook
      

    Disclaimer: the question has been answered but is hidden in one of the replies. I googled and took sometime to find the right answer. So I just summarize it so someone having the same issue can easily follow.

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