Packages from Conda env not found in Jupyer Notebo

2019-01-23 17:43发布

问题:

I created an environment called imagescraper and installed pip with it.

I then proceed to use pip to install a package called ImageScraper;

>>activate imagescraper
[imagescraper]>>pip install ImageScraper

Just to ensure that I have the package successfully installed:

>>conda list

[imagescraper] C:\Users\John>conda list
# packages in environment at C:\Anaconda2\envs\imagescrap
#
future                    0.15.2                    <pip>
imagescraper              2.0.7                     <pip>
lxml                      3.6.0                     <pip>
numpy                     1.11.0                    <pip>
pandas                    0.18.0                    <pip>
pip                       8.1.1                    py27_1
python                    2.7.11                        4
python-dateutil           2.5.2                     <pip>
pytz                      2016.3                    <pip>
requests                  2.9.1                     <pip>
setproctitle              1.1.9                     <pip>
setuptools                20.3                     py27_0
simplepool                0.1                       <pip>
six                       1.10.0                    <pip>
vs2008_runtime            9.00.30729.1                  0
wheel                     0.29.0                   py27_0

Before I launch Jupyter notebook, just to check where we are getting the path from:

[imagescraper] C:\Users\John>python
Python 2.7.11 |Continuum Analytics, Inc.| (default, Feb 16 2016, 09:58:36) [MSC
v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
>>> import sys
>>> sys.executable
'C:\\Anaconda2\\envs\\imagescraper\\python.exe'
>>> import image_scraper

Seems ok, so I proceed to launch Jupyter notebook using

[imagescraper]>>jupyter notebook

Within the notebook I created a new book and when i tried the same;

import image_scraper

I am returned with:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-6c2b65c9cdeb> in <module>()
----> 1 import image_scraper

ImportError: No module named image_scraper

Doing the same to check the paths within Jupyter notebook, I get this;

import sys

sys.executable

'C:\\Anaconda2\\python.exe'

Which tells me that it is not referring to the environment where I installed the modules in.

Is there a way I can ensure that my notebooks all refer to its own env packages?

回答1:

Here are two possible solutions:

You can register a new kernel based on your imagescraper environment. The kernel will start from the imagescraper environment and thus sees all its packages.

source activate imagescraper
conda install ipykernel
ipython kernel install --name imagescraper

This will add a new kernel named imagescraper to your jupyter dashboard.


Another solution is to install jupyter notebook into the imagescraper environment and start jupyter from the enviroment. This requires activating imagescraper whenever you start jupyter notebook.

source activate imagescraper
conda install notebook
jupyter notebook