在 Jupyter Notebook 中找不到来自 Conda env 的包

Packages from Conda env not found in Jupyer Notebook

我创建了一个名为 imagescraper 的环境并用它安装了 pip。

然后我继续使用 pip 安装一个名为 ImageScraper 的包;

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

只是为了确保我已成功安装软件包:

>>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

在我启动 Jupyter 笔记本之前,只是为了检查我们从哪里获取路径:

[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

看起来不错,所以我继续使用

启动 Jupyter notebook
[imagescraper]>>jupyter notebook

我在笔记本中创建了一本新书,当我尝试这样做时;

import image_scraper

我返回:

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

ImportError: No module named image_scraper

用同样的方法检查 Jupyter notebook 中的路径,我明白了;

import sys

sys.executable

'C:\Anaconda2\python.exe'

这告诉我它不是指我安装模块的环境。

有什么方法可以确保我的笔记本都引用它自己的 env 包吗?

这里有两种可能的解决方案:

您可以根据您的imagescraper环境注册一个新内核。内核将从 imagescraper 环境启动,因此会看到它的所有包。

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

这会将一个名为 imagescraper 的新内核添加到您的 jupyter 仪表板。


另一种解决方案是将 jupyter notebook 安装到 imagescraper 环境中,然后从环境中启动 jupyter。这需要在启动 jupyter notebook 时激活 imagescraper

source activate imagescraper
conda install notebook
jupyter notebook