错误 运行 全新安装 iPython
Error running a fresh install of iPython
我正在使用 virtualenvwrapper,因此任何人都可以轻松地复制它,但是直接在我的系统上使用 pip
也会发生这种情况。
安装 iPython 和 pip
后,我将无法 运行 它(注意我使用的是 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 时有什么方法可以避免它?
您的导入看起来不正确,https://pypi.python.org/pypi/path.py
from path import Path
您可能在系统范围内安装了 Ipython。 运行 workon test
开始前 ipython.
快速修复
刚刚降级包:
pip install -I path.py==7.7.1
解释
有个commit (62ccb76) made a couple of hours ago that removes the path
alias and bumps path.py
version to 0.8
. Apparently, in order to fix Issue #102:
Removed path.path
. Clients must now refer to the canonical name, path.Path
as introduced in 6.2.
不过,pickleshare
还没有更新,继续使用旧的别名。
问题 has already been reported, and hope it will be fixed soon. I created a pull request 以防有帮助。
更新
拉取请求已被合并 version 8.1 of path.py
adds the path
alias again(现在将生成警告)。所以用户现在应该不会遇到这个问题。
将软件包更新到版本 8.1
现在应该也可以解决问题:
pip install -I path.py==8.1
我正在使用 virtualenvwrapper,因此任何人都可以轻松地复制它,但是直接在我的系统上使用 pip
也会发生这种情况。
安装 iPython 和 pip
后,我将无法 运行 它(注意我使用的是 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 时有什么方法可以避免它?
您的导入看起来不正确,https://pypi.python.org/pypi/path.py
from path import Path
您可能在系统范围内安装了 Ipython。 运行 workon test
开始前 ipython.
快速修复
刚刚降级包:
pip install -I path.py==7.7.1
解释
有个commit (62ccb76) made a couple of hours ago that removes the path
alias and bumps path.py
version to 0.8
. Apparently, in order to fix Issue #102:
Removed
path.path
. Clients must now refer to the canonical name,path.Path
as introduced in 6.2.
不过,pickleshare
还没有更新,继续使用旧的别名。
问题 has already been reported, and hope it will be fixed soon. I created a pull request 以防有帮助。
更新
拉取请求已被合并 version 8.1 of path.py
adds the path
alias again(现在将生成警告)。所以用户现在应该不会遇到这个问题。
将软件包更新到版本 8.1
现在应该也可以解决问题:
pip install -I path.py==8.1