Spyder: 由于 pkg_resources 错误,新的 IPython 控制台或内核无法重新启动

创建于 2015-09-08  ·  47评论  ·  资料来源: spyder-ide/spyder

描述

哪些步骤将重现该问题?

  1. 统计间谍
  2. 尝试创建一个新的 ipython 控制台(在控制台 -> 打开一个 IPython 控制台

什么是预期的输出?
应该会出现一个新控制台,但新控制台立即停止并显示以下错误:

Error in sitecustomize; set PYTHONVERBOSE for traceback:
TypeError: 'NoneType' object is not callable
Traceback (most recent call last):
File "/pyzo2014a/lib/python3.4/site‑packages/spyderlib/widgets/externalshell/start_ipython_kernel.py", line 175, in 
from IPython.kernel.zmq.kernelapp import IPKernelApp
File "pyzo2014a/lib/python3.4/site‑packages/IPython/__init__.py", line 48, in 
from .terminal.embed import embed
File "pyzo2014a/lib/python3.4/site‑packages/IPython/terminal/embed.py", line 16, in 
from IPython.core.interactiveshell import DummyMod
File "pyzo2014a/lib/python3.4/site‑packages/IPython/core/interactiveshell.py", line 31, in 
from pickleshare import PickleShareDB
File "pyzo2014a/lib/python3.4/site‑packages/pickleshare.py", line 41, in 
from path import path as Path
File "pyzo2014a/lib/python3.4/site‑packages/path.py", line 122, in 
__version__ = pkg_resources.require('path.py')[0].version
TypeError: 'NoneType' object is not callable

请在下面提供任何附加信息

版本和主要组件

  • Spyder 版本:2.3.6
  • Python版本:3.4.3
  • Qt 版本:Linux 上的 4.8.6、PyQt4 (API v2) 4.11.3

    可选依赖

pyflakes >=0.6.0:  0.9.2 (OK)
pep8 >=0.6      :  1.6.2 (OK)
pygments >=1.6  :  2.0.2 (OK)
IPython >=1.0   :  4.0.0 (OK)
zmq >=2.1.11    :  14.7.0 (OK)
qtconsole >=4.0 :  4.0.1 (OK)
pandas >=0.13.1 :  0.16.2 (OK)
sphinx >=0.6.6  :  1.2.3 (OK)
psutil >=0.3    :  2.2.1 (OK)
rope >=0.9.2    :  0.9.4-1 (OK)
jedi >=0.8.1    :  0.9.0 (OK)
matplotlib >=1.0:  1.4.3 (OK)
sympy >=0.7.3   :  0.7.6.1 (OK)
pylint >=0.25   :  0.25.1 (OK)

IPython Console Bug

所有47条评论

这显然是 pyzo 的问题,而不是 Spyder,因此请向他们报告此错误。

嗨,我刚刚按照 #2680 中的建议从 skretch 安装了 anaconda。 安装后它就工作了。
比我做了一个 conda update --all (所以得到 ipython 4.0.0 和 spyder 2.3.6)并且我得到了与 pyzo 相同的行为。
这是我做的更新过程,也许在这里这可以帮助了解哪个包导致了问题?:
./conda 更新 --all
获取包元数据:....
解决封装规格:.
环境/home/diti/anaconda3安装包方案:

将下载以下软件包:

| 包| 构建 |
| --- | --- |
| nbconvert-4.0.0 | py34_0 269 KB |
| odo-0.3.3 | np19py34_0 157 KB |
| blaze-core-0.8.2 | np19py34_0 348 KB |
| notebook-4.0.4 | py34_0 4.2 MB |
| qtconsole-4.0.1 | py34_0 128 KB |
| ipython-notebook-4.0.4 | py34_0 5 KB |
| ipython-qtconsole-4.0.1 | py34_0 4 KB |
| spyder-2.3.6 | py34_0 2.7 MB |
| spyder-app-2.3.6 | py34_0 7 KB |

------------------------------------------------------------
                                       Total:         7.8 MB

将安装以下新软件包:

funcsigs:          0.4-py34_0        
ipykernel:         4.0.3-py34_0      
ipython_genutils:  0.1.0-py34_0      
jupyter_client:    4.0.0-py34_0      
jupyter_core:      4.0.4-py34_0      
krb5:              1.13.2-0          
libgfortran:       1.0-0             
nbconvert:         4.0.0-py34_0      
nbformat:          4.0.0-py34_0      
notebook:          4.0.4-py34_0      
openblas:          0.2.14-1          
patchelf:          0.6-0             
path.py:           7.6-py34_0        
pbr:               1.3.0-py34_0      
pexpect:           3.3-py34_0        
pickleshare:       0.5-py34_0        
qtconsole:         4.0.1-py34_0      
simplegeneric:     0.8.1-py34_0      
traitlets:         4.0.0-py34_0      
wheel:             0.24.0-py34_0     

以下软件包将被更新:

argcomplete:       0.8.9-py34_0      --> 0.9.0-py34_0      
astropy:           1.0.3-np19py34_0  --> 1.0.4-np19py34_0  
bcolz:             0.9.0-np19py34_0  --> 0.10.0-np19py34_0 
binstar:           0.11.0-py34_0     --> 0.12-2            
blaze-core:        0.8.0-np19py34_0  --> 0.8.2-np19py34_0  
bokeh:             0.9.0-np19py34_0  --> 0.9.3-np19py34_0  
cffi:              1.1.0-py34_0      --> 1.1.2-py34_0      
clyent:            0.3.4-py34_0      --> 0.4.0-py34_0      
conda:             3.14.1-py34_0     --> 3.16.0-py34_0     
conda-build:       1.14.1-py34_0     --> 1.17.0-py34_0     
conda-env:         2.2.3-py34_0      --> 2.4.2-py34_0      
cryptography:      0.9.1-py34_0      --> 0.9.3-py34_0      
curl:              7.43.0-0          --> 7.43.0-1          
cython:            0.22.1-py34_0     --> 0.23.1-py34_0     
datashape:         0.4.5-np19py34_0  --> 0.4.6-np19py34_0  
decorator:         3.4.2-py34_0      --> 4.0.2-py34_0      
ipython:           3.2.0-py34_0      --> 4.0.0-py34_0      
ipython-notebook:  3.2.0-py34_0      --> 4.0.4-py34_0      
ipython-qtconsole: 3.2.0-py34_0      --> 4.0.1-py34_0      
jedi:              0.8.1-py34_0      --> 0.9.0-py34_0      
jinja2:            2.7.3-py34_1      --> 2.8-py34_0        
llvmlite:          0.5.0-py34_0      --> 0.6.0-py34_0      
mistune:           0.5.1-py34_1      --> 0.7.1-py34_0      
mock:              1.0.1-py34_0      --> 1.3.0-py34_0      
multipledispatch:  0.4.7-py34_0      --> 0.4.8-py34_0      
networkx:          1.9.1-py34_0      --> 1.10-py34_0       
nltk:              3.0.3-np19py34_0  --> 3.0.4-np19py34_0  
numba:             0.19.1-np19py34_0 --> 0.20.0-np19py34_0 
numpy:             1.9.2-py34_0      --> 1.9.2-py34_1      
odo:               0.3.2-np19py34_0  --> 0.3.3-np19py34_0  
openpyxl:          1.8.5-py34_0      --> 2.0.2-py34_0      
patsy:             0.3.0-np19py34_0  --> 0.4.0-np19py34_0  
pillow:            2.8.2-py34_0      --> 2.9.0-py34_0      
pip:               7.0.3-py34_0      --> 7.1.2-py34_0      
py:                1.4.27-py34_0     --> 1.4.30-py34_0     
pytables:          3.2.0-np19py34_0  --> 3.2.1.1-np19py34_0
pytest:            2.7.1-py34_0      --> 2.7.2-py34_0      
scipy:             0.15.1-np19py34_0 --> 0.16.0-np19py34_1 
setuptools:        17.1.1-py34_0     --> 18.1-py34_0       
spyder:            2.3.5.2-py34_0    --> 2.3.6-py34_0      
spyder-app:        2.3.5.2-py34_0    --> 2.3.6-py34_0      
sqlalchemy:        1.0.5-py34_0      --> 1.0.8-py34_0      
sympy:             0.7.6-py34_0      --> 0.7.6.1-py34_0    
toolz:             0.7.2-py34_0      --> 0.7.4-py34_0      
tornado:           4.2-py34_0        --> 4.2.1-py34_0      
xlrd:              0.9.3-py34_0      --> 0.9.4-py34_0

我真的不明白为什么你会得到与 pyzo 相同的错误,如果 pyzo 不是 Anaconda 的一部分:-)

请发布您在使用 Anaconda 时遇到的确切错误:-)

你好

Error in sitecustomize; set PYTHONVERBOSE for traceback:
TypeError: 'NoneType' object is not callable
Traceback (most recent call last):
File "/mnt/disk2/opt/anaconda3/lib/python3.4/site‑packages/spyderlib/widgets/externalshell/start_ipython_kernel.py", line 175, in 
from IPython.kernel.zmq.kernelapp import IPKernelApp
File "/mnt/disk2/opt/anaconda3/lib/python3.4/site‑packages/IPython/__init__.py", line 48, in 
from .terminal.embed import embed
File "/mnt/disk2/opt/anaconda3/lib/python3.4/site‑packages/IPython/terminal/embed.py", line 16, in 
from IPython.core.interactiveshell import DummyMod
File "/mnt/disk2/opt/anaconda3/lib/python3.4/site‑packages/IPython/core/interactiveshell.py", line 31, in 
from pickleshare import PickleShareDB
File "/mnt/disk2/opt/anaconda3/lib/python3.4/site‑packages/pickleshare.py", line 41, in 
from path import path as Path
File "/mnt/disk2/opt/anaconda3/lib/python3.4/site‑packages/path.py", line 122, in 
__version__ = pkg_resources.require('path.py')[0].version
TypeError: 'NoneType' object is not callable

我真的不知道发生了什么,对不起。

你不能暂时留在 Anaconda 2.3 上吗? 我的意思是,如果这对你有用,你应该留在那里:-)

我只是对 spyder 2.3.6 而不是 2.3.5.2 感兴趣,因为它解决了这个问题
问题https://github.com/spyder-ide/spyder/issues/2593。
但我当然可以等待这一刻。
不管怎么说,还是要谢谢你

那么请运行

conda update spyder

只更新 Spyder :-)

所以首先我做了
./conda update spyder 和我遇到了同样的问题,可能是因为这些依赖关系
将安装以下新软件包:

ipykernel:        4.0.3-py34_0 
ipython_genutils: 0.1.0-py34_0 
jupyter_client:   4.0.0-py34_0 
jupyter_core:     4.0.4-py34_0 
nbconvert:        4.0.0-py34_0 
nbformat:         4.0.0-py34_0 
path.py:          7.6.1-py34_0 
pexpect:          3.3-py34_0   
pickleshare:      0.5-py34_0   
qtconsole:        4.0.1-py34_0 
simplegeneric:    0.8.1-py34_0 
traitlets:        4.0.0-py34_0 
wheel:            0.24.0-py34_0

以下软件包将被更新:

conda:            3.14.1-py34_0  --> 3.17.0-py34_0
conda-env:        2.2.3-py34_0   --> 2.4.2-py34_0 
decorator:        3.4.2-py34_0   --> 4.0.2-py34_0 
ipython:          3.2.0-py34_0   --> 4.0.0-py34_0 
jedi:             0.8.1-py34_0   --> 0.9.0-py34_0 
jinja2:           2.7.3-py34_1   --> 2.8-py34_0   
mistune:          0.5.1-py34_1   --> 0.7.1-py34_0 
pip:              7.0.3-py34_0   --> 7.1.2-py34_0 
setuptools:       17.1.1-py34_0  --> 18.1-py34_0  
spyder:           2.3.5.2-py34_0 --> 2.3.6-py34_0 

后来我试过
./conda 更新 --no-deps spyder
最后我得到了 2.3.6 工作。
以下问题:
https://github.com/spyder-ide/spyder/issues/2680#issuecomment -140668217
仍然存在,但这是次要的,它不需要,我们没有它就可以生存。

谢谢

我很高兴知道您能够解决这个问题:-) 我会仔细研究这个问题,并尝试修复 2.3.7

好的,根据这篇文章:

http://stackoverflow.com/questions/32155633/error-while-starting-new-ipython-console-in-spyder

这个问题与Spyder无关,通过运行解决

conda update setuptools

如果您使用的是 Anaconda。 如果没有,您只需要将setuptools更新到其最新版本即可修复它。

嗯...我认为这对我来说是个问题。 我想我有一个类似的问题,我也在我的终端上尝试了 conda update setuptools,但问题仍然存在。 这是一个单独的问题吗? (尝试学习 Python 并且这个问题并没有帮助我作为初学者入门......这对我来说是一个很大的帮助,提前谢谢你们。我应该重新安装而不是将 spyder 更新到 2.3 .6 从 2.3.5.2 此刻?)

IPython 控制台上显示的内容(如下):

启动内核时发生错误
网站自定义错误; 为回溯设置 PYTHONVERBOSE:
TypeError: 'NoneType' 对象不可调用
回溯(最近一次调用最后一次):
文件“/Users/guest/anaconda/lib/python3.4/site-packages/spyderlib/widgets/externalshell/start_ipython_kernel.py”,第175行,在
从 IPython.kernel.zmq.kernelapp 导入 IPKernelApp
文件“/Users/guest/anaconda/lib/python3.4/site-packages/IPython/初始化py”为第48行中
从 .terminal.embed 导入嵌入
文件“/Users/guest/anaconda/lib/python3.4/site-packages/IPython/terminal/embed.py”,第 16 行,在
从 IPython.core.interactiveshell 导入 DummyMod
文件“/Users/guest/anaconda/lib/python3.4/site‑packages/IPython/core/interactiveshell.py”,第 31 行,在
从 pickleshare 导入 PickleShareDB
文件“/Users/guest/anaconda/lib/python3.4/site‑packages/pickleshare.py”,第 41 行,在
从路径导入路径作为路径
文件“/Users/guest/anaconda/lib/python3.4/site-packages/path.py”,第 123 行,在
version = pkg_resources.require('path.py')[0].version
TypeError: 'NoneType' 对象不可调用

(我试过玩这个程序,我设法通过同时使用常规 Python 控制台打开它来保持一个 IPython 控制台的功能,但是我无法为 IPython 打开任何新控制台,而不会再次出现该错误消息.如果我在有效的控制台上重新启动内核,就会出现错误屏幕。这很令人沮丧。)

@leekahung ,请运行我在上一条评论中提到的命令来解决这个问题。

@ccordoba12 - 我有同样的问题,我已经运行:
conda 更新设置工具

conda 报告它已经是最新的。

编辑:这是我的 100% 重现案例:

1)下载anaconda python3安装程序,安装新的anaconda。
2) 尝试 spyder - 它有效。
3)运行 conda update conda,然后 conda update anaconda(没有更新),然后 conda update spyder

现在,当 spyder 尝试启动 ipython 控制台时,您会遇到 path.py 问题

@ccordoba12 ,我收到与@leekahung发布的完全相同的错误消息,并且与@steve28 有类似的经历。 有时,我不会看到它,有时,我每次都会得到它。 在那些糟糕的日子之一,我尝试了三种不同的安装进行实验:

  1. Anaconda3-2.3.0-Linux-x86_64.sh -- 没有错误
  2. Anaconda3-2.3.0-Linux-x86_64.sh + conda update --all -- 产生错误
  3. Anaconda3-2.3.0-Linux-x86_64.sh + conda update spyder -- 产生错误

但是,在第 2 种和第 3 种情况下,我确实注意到一些可能有用的东西:当我删除~/.spyder2-py3目录时,spyder 启动时没有出现该错误。 当我将该目录留在原地时——即使没有进行任何自定义设置——它也给出了那个错误。 我至少试验了 15 次。

作为临时解决方法,我编辑了文件: .../anaconda/lib/python3.4/site packages/path.py 。 我只是添加了except TypeError:逻辑:

try:
    import pkg_resources
    __version__ = pkg_resources.require('path.py')[0].version
except ImportError:
    __version__ = 'unknown'
except pkg_resources.DistributionNotFound:
    __version__ = 'unknown'
except TypeError:
    __version__ = 'unknown'

我确定这不是正确的解决方案,但它让我现在跑了。

这里有同样的问题(anaconda 包 + conda更新)

我有同样的问题。 Spyder 工作正常,我只是尝试调整变量资源管理器的大小,并错误地关闭了某些内容。 我不确定发生了什么,但下面的标签消失了。 那是我开始收到像 leekahung 这样的错误信息的时候。 打开新控制台并重新启动内核一直出现相同的错误。
更新 conda、spyder 和 setuptools 并没有解决问题。 @twmacro的添加方法除外 TypeError 修复了该问题。 抱歉,我不知道我在 spyder 中究竟点击了什么导致了问题,但其他人可能会在没有意识到的情况下做同样的事情。

我有完全相同的问题。 与新的 anaconda 完美配合,然后我使用 conda 安装了 joblib,然后我开始遇到问题。

spyder 2.3.7 仍然有同样的问题。 但我可以确认 twmacro 在 10 月 11 日发表的评论也对我有用。

同样的问题。 尝试了@ccordoba12提到的措施——它没有用

@DSLituiev对我来说是一样的, @twmacro提到的

谢谢@Diti24和@twmacro!
看起来它可以工作(重新启动内核 7 次没有问题;第三次左右后较早失败)。

我在Anaconda3-2.4.0-Linux-x86_64.sh看到了同样的行为。 我做了与我上面指出的相同的修复,并且有效。

当我尝试使用调试器 ( python -m pdb spyder ) 执行此操作时,我偶然发现了另一个明显的修复方法。 第二个修复是解压 setuptools egg 文件:

cd anaconda3/lib/python3.5/site-packages
unzip setuptools-18.4-py3.5.egg
rm setuptools-18.4-py3.5.egg   # doesn’t appear to be necessary

我通过尝试调试了解到的另一个小花絮是父 python 进程通过path.py没有问题。 这是子进程,但有趣的是,它似乎是该子进程的第二次通过path.py 。 我通过将带有进程 ID 的“here”语句打印到path.py的文件来确定。 但是,当 setuptools egg 文件按上述方式解压缩时,或者如果使用了我从 10 月 10 日开始的第一个修复程序(见上文),似乎根本没有第二遍。

我不知道这些信息是否可以帮助开发人员,但我希望。

@twmacro ,感谢您为解决此问题所做的所有工作。 我将使用您 10 月 10 日提出的解决方案来修补 Anaconda 附带的path.py版本(是的,我也是 Continuum 员工;-)

12 月将有一个新的 Anaconda 版本 (2.4.1),所以现在是修复它的最佳时机!

@ccordoba12 ,太棒了! :-)

感谢大家的辛勤工作! 虽然我目前对临时修复很满意,但我很期待新补丁!

我在 Anaconda 2.4.1 和 Spyder 2.3.8 上仍然有这个问题。 查看 path.py 文件,它看起来没有更新。 补丁是否按计划制作?

你好,

我在 conda 3.19.3 和 spyder Spyder 2.3.8 上遇到了同样的问题。 重新启动 IPython 控制台时,错误日志如下。 请注意,重新启动 Spyder 有效(没有 IPython 崩溃)。

An error ocurred while starting the kernel
Vendor: Continuum Analytics, Inc.
Package: mkl
Message: trial mode expires in 29 days
Error in sitecustomize; set PYTHONVERBOSE for traceback:
TypeError: 'NoneType' object is not callable
Traceback (most recent call last):
File "/home/hash/anaconda3/lib/python3.5/site‑packages/spyderlib/widgets/externalshell/start_ipython_kernel.py", line 183, in 
from IPython.kernel.zmq.kernelapp import IPKernelApp
File "/home/hash/anaconda3/lib/python3.5/site‑packages/IPython/__init__.py", line 49, in 
from .terminal.embed import embed
File "/home/hash/anaconda3/lib/python3.5/site‑packages/IPython/terminal/embed.py", line 16, in 
from IPython.core.interactiveshell import DummyMod
File "/home/hash/anaconda3/lib/python3.5/site‑packages/IPython/core/interactiveshell.py", line 31, in 
from pickleshare import PickleShareDB
File "/home/hash/anaconda3/lib/python3.5/site‑packages/pickleshare.py", line 41, in 
from path import path as Path
File "/home/hash/anaconda3/lib/python3.5/site‑packages/path.py", line 123, in 
__version__ = pkg_resources.require('path.py')[0].version
TypeError: 'NoneType' object is not callable

你好,
同样的问题在这里。 在 Anaconda 2.5.0 下的环境中使用 Spyder 2.3.8 和 Python 3.5.1。 一切都是最新的(setuptools、spyder、ipython 等)。

仅通过打开第二个 ipython 控制台 (Ctrl-T) 也会出现注意错误

网站自定义错误; 为回溯设置 PYTHONVERBOSE:
TypeError: 'NoneType' 对象不可调用
回溯(最近一次调用最后一次):
文件“/home/uzer/anaconda/envs/p35/lib/python3.5/site-packages/spyderlib/widgets/externalshell/start_ipython_kernel.py”,第183行,在
从 IPython.kernel.zmq.kernelapp 导入 IPKernelApp
文件“/home/uzer/anaconda/envs/p35/lib/python3.5/site-packages/IPython/初始化py”为49行,在
从 .terminal.embed 导入嵌入
文件“/home/uzer/anaconda/envs/p35/lib/python3.5/site-packages/IPython/terminal/embed.py”,第16行,在
从 IPython.core.interactiveshell 导入 DummyMod
文件“/home/uzer/anaconda/envs/p35/lib/python3.5/site-packages/IPython/core/interactiveshell.py”,第31行,在
从 pickleshare 导入 PickleShareDB
文件“/home/uzer/anaconda/envs/p35/lib/python3.5/site-packages/pickleshare.py”,第41行,在
从路径导入路径作为路径
文件“/home/uzer/anaconda/envs/p35/lib/python3.5/site-packages/path.py”,第 123 行,在
version = pkg_resources.require('path.py')[0].version
TypeError: 'NoneType' 对象不可调用

@samotracio ,你能跑吗

conda update path.py

看看是否能解决问题?

@ccordoba12 :是的,这解决了问题! 谢谢!
但请注意,我必须强制更新,因为我已经在运行 path.py 8.1.2


conda update -f path.py
使用 Anaconda Cloud api 站点https://api.anaconda.org
获取包元数据:....
解决封装规格:......
安装在环境/home/uzer/anaconda/envs/p35中的打包方案:

以下软件包将被更新:
path.py: 8.1.2-py35_1 --> 8.1.2-py35_1

我明白了,很高兴它为你修好了;-)

相关但略有不同的错误在这里; 我在从干净的 Ubuntu 15.04 vm 开始并从网站上安装 anaconda 时遇到了这个问题。 启动 spyder,我得到了这个:

网站自定义错误; 为回溯设置 PYTHONVERBOSE:
AttributeError: 模块“pkg_resources”没有属性“DistributionNotFound”
回溯(最近一次调用最后一次):
文件“/home/ubuntu/anaconda3/lib/python3.5/site-packages/path.py”,第123行,在
version = pkg_resources.require('path.py')[0].version
AttributeError: 模块“pkg_resources”没有属性“require”

在处理上述异常的过程中,又发生了一个异常:

Traceback (most recent call last):
File "/home/ubuntu/anaconda3/lib/python3.5/site‑packages/spyderlib/widgets/externalshell/start_ipython_kernel.py", line 183, in 
from IPython.kernel.zmq.kernelapp import IPKernelApp
File "/home/ubuntu/anaconda3/lib/python3.5/site‑packages/IPython/__init__.py", line 49, in 
from .terminal.embed import embed
File "/home/ubuntu/anaconda3/lib/python3.5/site‑packages/IPython/terminal/embed.py", line 16, in 
from IPython.core.interactiveshell import DummyMod
File "/home/ubuntu/anaconda3/lib/python3.5/site‑packages/IPython/core/interactiveshell.py", line 31, in 
from pickleshare import PickleShareDB
File "/home/ubuntu/anaconda3/lib/python3.5/site‑packages/pickleshare.py", line 41, in 
from path import path as Path
File "/home/ubuntu/anaconda3/lib/python3.5/site‑packages/path.py", line 126, in 
except pkg_resources.DistributionNotFound:
AttributeError: module 'pkg_resources' has no attribute 'DistributionNotFound'

我尝试了 path.py 的强制更新,最初它有效,但是在执行 conda update all 后,它再次崩溃,并且 path.py 的强制更新无法修复它。 有什么想法吗?

更多信息:卸载所有内容,重新启动,重新安装。 运行 spyder,一切正常。 关闭间谍。 重新启动,再次启动 spyder,得到如上所示的错误。 不知道如何解释这一点,除了某些设置或标志在重启后不会持续......

@andybrnr ,请运行

conda update path.py

那应该可以解决您的错误:-)

您好 ccordoba12,感谢您的回复。 我已经试过了——已经在 8.1.2 上作为路径,并且更新 -f 来重写它没有效果。 所以我不知道这是旧问题的变种还是不同的东西,但对旧的修复没有骰子。 想法?

此外,似乎存在多个控制台的问题。 我间歇性地让它打开正常,但右键单击打开新控制台失败并出现上述错误。

好的,所以似乎不知何故“要求”方法曾经是无,但现在根本不存在? 错误曾经是“NoneType 不可执行”这一事实意味着该属性为空(我认为?)。 当它然后落入例外时,补丁处理 NoneType。 现在,except 语句导致了错误,因为尝试评估 pkg_resources.DistributionNotFound 引发了 AttributeError(不再存在?)。 我通过在 pkg_resources.DistributionNotFound 上方放置一个“除了 AttributeError”来修补,如下所示:

try:
    import pkg_resources
    __version__ = pkg_resources.require('path.py')[0].version
except ImportError:
    __version__ = 'unknown'
#hack fix 2016-4-6
except AttributeError: 
    __version__='unknown' 
#end hack 
except pkg_resources.DistributionNotFound:
    __version__ = 'unknown'
except:
    __version__ = 'unknown'

这为我解决了这个问题。

我不明白代码中发生的事情的大局,但从只看那个 try-except 块,我更喜欢这个:

try:
    import pkg_resources
    __version__ = pkg_resources.require('path.py')[0].version
except:
    __version__ = 'unknown'

@andybrnr ,(更简单的) @twmacro提案怎么样? 它是否也为您解决了问题?

明天回到我的工作箱时,我会尝试一下。 根据我对代码失败的理解,我很确定这会正常工作。 我很好奇本节打算实现什么功能,但简单地设置version ='unknown' 似乎并没有破坏任何重要的东西。

是的,这很好用。 建议将此解决方案用于最终补丁。

当我尝试启动 Spyder 时,我也遇到了类似的错误。 它似乎不是由我所做的任何具体事情引起的:

An error ocurred while starting the kernel
'import sitecustomize' failed; use ‑v for traceback
Traceback (most recent call last):
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/spyder/utils/ipython/start_kernel.py", line 231, in 
main()
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/spyder/utils/ipython/start_kernel.py", line 204, in main
from ipykernel.kernelapp import IPKernelApp
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/ipykernel/__init__.py", line 2, in 
from .connect import *
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/ipykernel/connect.py", line 13, in 
from IPython.core.profiledir import ProfileDir
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/__init__.py", line 48, in 
from .core.application import Application
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/core/application.py", line 25, in 
from IPython.core import release, crashhandler
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/core/crashhandler.py", line 28, in 
from IPython.core import ultratb
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/core/ultratb.py", line 119, in 
from IPython.core import debugger
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/core/debugger.py", line 37, in 
from IPython.utils import PyColorize, ulinecache
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/utils/ulinecache.py", line 11, in 
from IPython.utils import openpy
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/utils/openpy.py", line 10, in 
from io import TextIOWrapper, BytesIO
ImportError: cannot import name TextIOWrapper
'import sitecustomize' failed; use ‑v for traceback
Traceback (most recent call last):
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/spyder/utils/ipython/start_kernel.py", line 231, in 
main()
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/spyder/utils/ipython/start_kernel.py", line 204, in main
from ipykernel.kernelapp import IPKernelApp
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/ipykernel/__init__.py", line 2, in 
from .connect import *
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/ipykernel/connect.py", line 13, in 
from IPython.core.profiledir import ProfileDir
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/__init__.py", line 48, in 
from .core.application import Application
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/core/application.py", line 25, in 
from IPython.core import release, crashhandler
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/core/crashhandler.py", line 28, in 
from IPython.core import ultratb
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/core/ultratb.py", line 119, in 
from IPython.core import debugger
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/core/debugger.py", line 37, in 
from IPython.utils import PyColorize, ulinecache
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/utils/ulinecache.py", line 11, in 
from IPython.utils import openpy
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/utils/openpy.py", line 10, in 
from io import TextIOWrapper, BytesIO
ImportError: cannot import name TextIOWrapper
'import sitecustomize' failed; use ‑v for traceback
Traceback (most recent call last):
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/spyder/utils/ipython/start_kernel.py", line 231, in 
main()
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/spyder/utils/ipython/start_kernel.py", line 204, in main
from ipykernel.kernelapp import IPKernelApp
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/ipykernel/__init__.py", line 2, in 
from .connect import *
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/ipykernel/connect.py", line 13, in 
from IPython.core.profiledir import ProfileDir
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/__init__.py", line 48, in 
from .core.application import Application
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/core/application.py", line 25, in 
from IPython.core import release, crashhandler
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/core/crashhandler.py", line 28, in 
from IPython.core import ultratb
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/core/ultratb.py", line 119, in 
from IPython.core import debugger
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/core/debugger.py", line 37, in 
from IPython.utils import PyColorize, ulinecache
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/utils/ulinecache.py", line 11, in 
from IPython.utils import openpy
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/utils/openpy.py", line 10, in 
from io import TextIOWrapper, BytesIO
ImportError: cannot import name TextIOWrapper
'import sitecustomize' failed; use ‑v for traceback
Traceback (most recent call last):
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/spyder/utils/ipython/start_kernel.py", line 231, in 
main()
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/spyder/utils/ipython/start_kernel.py", line 204, in main
from ipykernel.kernelapp import IPKernelApp
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/ipykernel/__init__.py", line 2, in 
from .connect import *
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/ipykernel/connect.py", line 13, in 
from IPython.core.profiledir import ProfileDir
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/__init__.py", line 48, in 
from .core.application import Application
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/core/application.py", line 25, in 
from IPython.core import release, crashhandler
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/core/crashhandler.py", line 28, in 
from IPython.core import ultratb
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/core/ultratb.py", line 119, in 
from IPython.core import debugger
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/core/debugger.py", line 37, in 
from IPython.utils import PyColorize, ulinecache
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/utils/ulinecache.py", line 11, in 
from IPython.utils import openpy
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/utils/openpy.py", line 10, in 
from io import TextIOWrapper, BytesIO
ImportError: cannot import name TextIOWrapper
'import sitecustomize' failed; use ‑v for traceback
Traceback (most recent call last):
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/spyder/utils/ipython/start_kernel.py", line 231, in 
main()
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/spyder/utils/ipython/start_kernel.py", line 204, in main
from ipykernel.kernelapp import IPKernelApp
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/ipykernel/__init__.py", line 2, in 
from .connect import *
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/ipykernel/connect.py", line 13, in 
from IPython.core.profiledir import ProfileDir
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/__init__.py", line 48, in 
from .core.application import Application
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/core/application.py", line 25, in 
from IPython.core import release, crashhandler
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/core/crashhandler.py", line 28, in 
from IPython.core import ultratb
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/core/ultratb.py", line 119, in 
from IPython.core import debugger
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/core/debugger.py", line 37, in 
from IPython.utils import PyColorize, ulinecache
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/utils/ulinecache.py", line 11, in 
from IPython.utils import openpy
File "/home/mplain/anaconda2/envs/rootclone2/lib/python2.7/site‑packages/IPython/utils/openpy.py", line 10, in 
from io import TextIOWrapper, BytesIO
ImportError: cannot import name TextIOWrapper

我已经尝试更新 conda、spyder 和 path.py,但问题仍然存在。 有任何想法吗?

请贴出结果

conda list

在这里看看是否一切正常。

嘿,我最后的希望(您在某些 google 群组论坛中建议)是重置 Spyder ( spyder --reset ) 来修复它。 不得不重置我的偏好等,但现在可以使用了,抱歉,我不知道问题出在哪里!

很高兴spyder --reset为您工作!

我有同样的问题。 但是,就我而言,这是因为我有一个与核心模块同名的文件,而 python 试图从我的根目录加载错误的文件。 改了名字,又恢复正常了。

此页面是否有帮助?
0 / 5 - 0 等级