创建本地环境并在 Conda 列表中确认后,我仍然收到 "No module named chainer" 错误。

After creating a local environment and confirming in Conda list I still get "No module named chainer" error.

我保证我已经查看了针对类似问题的建议,但没有任何效果,我不知道该怎么做。

这是我的具体步骤。我已经很好地安装了 Anaconda,并将它与其他库和环境(如 tensorflow)一起使用,现在我只是想使用这个名为 "chainer" 的包。我能找到的唯一 windows 版本在这里: https://anaconda.org/steerapi/chainer

所以我完成了这些步骤:

conda create -n p27 python=2.7
activate p27

此时很明显我现在处于 p27 环境中,然后我做了...

conda install -c steerapi chainer=0
conda list

为了安全起见,我还在环境中安装了 conda install ipython 和 conda install jupyter,因为我听说如果这些没有安装在本地环境中,依赖项可能无法工作,当你尝试使用其中任何一个。我再次确认 conda 列表输出:

# packages in environment at C:\Users\MrMoxie\AppData\Local\conda\conda\envs\py27:
#
backports                 1.0                      py27_0
backports_abc             0.5                      py27_0
bleach                    1.5.0                    py27_0
chainer                   0                        py27_0    steerapi
colorama                  0.3.7                    py27_0
configparser              3.5.0                    py27_0
decorator                 4.0.11                   py27_0
entrypoints               0.2.2                    py27_1
enum34                    1.1.6                    py27_0
filelock                  2.0.4                    py27_0    steerapi
functools32               3.2.3.2                  py27_0
get_terminal_size         1.0.0                    py27_0
html5lib                  0.999                    py27_0
ipykernel                 4.5.2                    py27_0
ipython                   5.3.0                    py27_0
ipython_genutils          0.1.0                    py27_0
jinja2                    2.9.5                    py27_0
jsonschema                2.5.1                    py27_0
jupyter_client            5.0.0                    py27_0
jupyter_core              4.3.0                    py27_0
markupsafe                0.23                     py27_2
mistune                   0.7.3                    py27_0
mkl                       2017.0.1                      0
nbconvert                 5.1.1                    py27_0
nbformat                  4.3.0                    py27_0
notebook                  4.3.1                    py27_1
numpy                     1.12.0                   py27_0
pandocfilters             1.4.1                    py27_0
path.py                   10.1                     py27_0
pathlib2                  2.2.0                    py27_0
pickleshare               0.7.4                    py27_0
pip                       9.0.1                    py27_1
prompt_toolkit            1.0.9                    py27_0
protobuf                  3.0.0a3                  py27_1    steerapi
pygments                  2.2.0                    py27_0
python                    2.7.13                        0
python-dateutil           2.6.0                    py27_0
pyzmq                     16.0.2                   py27_0
scandir                   1.5                      py27_0
setuptools                27.2.0                   py27_1
simplegeneric             0.8.1                    py27_1
singledispatch            3.4.0.3                  py27_0
six                       1.10.0                   py27_0
ssl_match_hostname        3.4.0.2                  py27_1
testpath                  0.3                      py27_0
tornado                   4.4.2                    py27_0
traitlets                 4.3.2                    py27_0
vs2008_runtime            9.00.30729.5054               0
wcwidth                   0.1.7                    py27_0
wheel                     0.29.0                   py27_0
win_unicode_console       0.5                      py27_0

然而即使每次在 ipython 和 jupyter notebook 中(我更喜欢做 coding/testing 工作)我得到:

import chainer
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-10-9758b185b742> in <module>()
----> 1 import chainer

ImportError: No module named chainer

请帮忙,我已经 google 尽我所能 google 并尝试了我能想到的每一个想法,为什么为什么它不能识别安装在这个环境中的包在那里?

这是因为你安装在这个环境中的模块只能被安装在相同环境中的python内核识别。您需要在 jupyter 中将环境添加为内核,然后在 Jupyter notebook 中使用该内核正确读取和导入该环境中安装的所有模块。最简单的方法是使用 ipykernel

激活环境后,使用conda as

安装ipykernel
conda install ipykernel

然后您可以使用 -

在您的环境中安装所需的 python 版本来创建内核
/path/to/env/bin/python(version) --name "name-of-kernel" --display-name "Display Name of Kernel" --user(or for whoever you want the kernel to be accessible)*

您可以使用

查看您的 Jupyter 内核
jupyter kernelspec list

在此之后,只需 select 来自 jupyter notebook 的这个内核就可以了。