创建本地环境并在 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 的这个内核就可以了。
我保证我已经查看了针对类似问题的建议,但没有任何效果,我不知道该怎么做。
这是我的具体步骤。我已经很好地安装了 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
安装ipykernelconda 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 的这个内核就可以了。