运行全新安装的iPython时出错

时间:2015-08-27 15:01:04

标签: python ipython

我正在使用virtualenvwrapper,所以任何人都可以轻松地重现它,但是直接在我的系统上使用pip也会发生这种情况。

使用pip安装iPython后,我无法运行它(注意我使用的是Python 2解释器,但如果我使用Python 3,则会发生同样的事情):

$ mkvirtualenv -p python2 test
$ pip install --upgrade pip      # Just in case...
$ pip install ipython
$ ipython
Traceback (most recent call last):
  File "/home/peque/.virtualenvs/test/bin/ipython", line 7, in <module>
    from IPython import start_ipython
  File "/home/peque/.virtualenvs/test/lib/python2.7/site-packages/IPython/__init__.py", line 48, in <module>
    from .terminal.embed import embed
  File "/home/peque/.virtualenvs/test/lib/python2.7/site-packages/IPython/terminal/embed.py", line 16, in <module>
    from IPython.core.interactiveshell import DummyMod
  File "/home/peque/.virtualenvs/test/lib/python2.7/site-packages/IPython/core/interactiveshell.py", line 31, in <module>
    from pickleshare import PickleShareDB
  File "/home/peque/.virtualenvs/test/lib/python2.7/site-packages/pickleshare.py", line 41, in <module>
    from path import path as Path
ImportError: cannot import name path

现在,我在这个简单步骤后安装的软件包是:

$ pip freeze
decorator==4.0.2
ipython==4.0.0
ipython-genutils==0.1.0
path.py==8.0
pexpect==3.3
pickleshare==0.5
simplegeneric==0.8.1
traitlets==4.0.0

为什么我收到此错误?有没有办法在使用iPython版本4时避免使用它?

3 个答案:

答案 0 :(得分:7)

快速修复

刚刚降级包裹:

pip install -I path.py==7.7.1

说明

几小时前发布的commit (62ccb76)删除了path别名,并将path.py版本提升为0.8。显然,为了解决Issue #102

  

已移除path.path。客户现在必须引用6.2中引入的规范名称path.Path

但是,pickleshare尚未更新并继续使用旧别名。

问题has already been reported,希望很快得到解决。我创建a pull request以防万一。

更新

拉取请求已合并,version 8.1 of path.py adds the path alias again(现在将生成警告)。所以用户现在不应该遇到这个问题。

将软件包更新到版本8.1也应该现在解决问题:

pip install -I path.py==8.1

答案 1 :(得分:2)

您的导入看起来不正确,https://pypi.python.org/pypi/path.py

from path import Path

答案 2 :(得分:0)

您可能已在系统范围内安装了Ipython。只需在启动ipython之前运行workon test