无法在 Jupyter 中并行导入 IPython
Fail to import IPython parallel in Jupyter
我最近将 IPython 更新到 4.0.0 并安装了 Jupyter 4.0.6。
我想使用 Ipython 并行,在启动笔记本中的引擎后,我导入:
from IPython import parallel
失败了:
~/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/IPython/utils/traitlets.py:5: UserWarning: IPython.utils.traitlets has moved to a top-level traitlets package.
warn("IPython.utils.traitlets has moved to a top-level traitlets package.")
~/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/IPython/utils/pickleutil.py:3: UserWarning: IPython.utils.pickleutil has moved to ipykernel.pickleutil
warn("IPython.utils.pickleutil has moved to ipykernel.pickleutil")
~/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/IPython/utils/jsonutil.py:3: UserWarning: IPython.utils.jsonutil has moved to jupyter_client.jsonutil
warn("IPython.utils.jsonutil has moved to jupyter_client.jsonutil")
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-1-5652e9e33a4d> in <module>()
----> 1 from IPython import parallel
~/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/IPython/parallel/__init__.py in <module>()
31
32 from .client.asyncresult import *
---> 33 from .client.client import Client
34 from .client.remotefunction import *
35 from .client.view import *
~/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/IPython/parallel/client/client.py in <module>()
38 from IPython.utils.capture import RichOutput
39 from IPython.utils.coloransi import TermColors
---> 40 from IPython.utils.jsonutil import rekey, extract_dates, parse_date
41 from IPython.utils.localinterfaces import localhost, is_local_ip
42 from IPython.utils.path import get_ipython_dir
ImportError: cannot import name rekey
所以我尝试了:
pip install rekey
但是没有找到分布。
请注意,无论是使用 ipython notebook
或 jupyter notebook
打开,还是在控制台中,它都会以同样的方式失败。
另请注意,有一个警告:
UserWarning: IPython.utils.jsonutil has moved to jupyter_client.jsonutil
但是rekey
模块中不存在jupyter_client.jsonutil
问题:如何让 IPython 并行在 Jupyter 中工作?
我错过了什么?
我找到了我认为的问题(至少它有效):
- 首先,我必须
import ipyparallel
而不是 IPython.parallel
看这里:http://jupyter.readthedocs.org/en/latest/migrating.html#imports
编辑:我得到了这个 OSError,但是这个修复显然是无用的,而且它在没有的情况下也能工作。不过,我仍然不明白为什么会出现此错误。
然后,我在启动客户端时又出现了另一个错误:
OSError: Connection file '~/.ipython/profile_default/security/ipcontroller-client.json' not found.
You have attempted to connect to an IPython Cluster but no Controller could be found.
Please double-check your configuration and ensure that a cluster is running.
所以我只是将目录~/.ipython/profile_default
复制到~/.jupyter/profile_default
而且有效!
我最近将 IPython 更新到 4.0.0 并安装了 Jupyter 4.0.6。
我想使用 Ipython 并行,在启动笔记本中的引擎后,我导入:
from IPython import parallel
失败了:
~/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/IPython/utils/traitlets.py:5: UserWarning: IPython.utils.traitlets has moved to a top-level traitlets package.
warn("IPython.utils.traitlets has moved to a top-level traitlets package.")
~/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/IPython/utils/pickleutil.py:3: UserWarning: IPython.utils.pickleutil has moved to ipykernel.pickleutil
warn("IPython.utils.pickleutil has moved to ipykernel.pickleutil")
~/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/IPython/utils/jsonutil.py:3: UserWarning: IPython.utils.jsonutil has moved to jupyter_client.jsonutil
warn("IPython.utils.jsonutil has moved to jupyter_client.jsonutil")
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-1-5652e9e33a4d> in <module>()
----> 1 from IPython import parallel
~/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/IPython/parallel/__init__.py in <module>()
31
32 from .client.asyncresult import *
---> 33 from .client.client import Client
34 from .client.remotefunction import *
35 from .client.view import *
~/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/IPython/parallel/client/client.py in <module>()
38 from IPython.utils.capture import RichOutput
39 from IPython.utils.coloransi import TermColors
---> 40 from IPython.utils.jsonutil import rekey, extract_dates, parse_date
41 from IPython.utils.localinterfaces import localhost, is_local_ip
42 from IPython.utils.path import get_ipython_dir
ImportError: cannot import name rekey
所以我尝试了:
pip install rekey
但是没有找到分布。
请注意,无论是使用 ipython notebook
或 jupyter notebook
打开,还是在控制台中,它都会以同样的方式失败。
另请注意,有一个警告:
UserWarning: IPython.utils.jsonutil has moved to jupyter_client.jsonutil
但是rekey
模块中不存在jupyter_client.jsonutil
问题:如何让 IPython 并行在 Jupyter 中工作? 我错过了什么?
我找到了我认为的问题(至少它有效):
- 首先,我必须
import ipyparallel
而不是IPython.parallel
看这里:http://jupyter.readthedocs.org/en/latest/migrating.html#imports
编辑:我得到了这个 OSError,但是这个修复显然是无用的,而且它在没有的情况下也能工作。不过,我仍然不明白为什么会出现此错误。
然后,我在启动客户端时又出现了另一个错误:
OSError: Connection file '~/.ipython/profile_default/security/ipcontroller-client.json' not found. You have attempted to connect to an IPython Cluster but no Controller could be found. Please double-check your configuration and ensure that a cluster is running.
所以我只是将目录~/.ipython/profile_default
复制到~/.jupyter/profile_default
而且有效!