Python 蟒蛇3-属性错误:';dict';对象没有属性';rsplit';

Python 蟒蛇3-属性错误:';dict';对象没有属性';rsplit';,python,anaconda,conda,Python,Anaconda,Conda,我正在通过web浏览器本地运行Anaconda3。每次我转到“Conda”部分查看(在)安装的软件包时,我得到检索已安装软件包时出错。内部服务器错误 检查日志,这就是当前发生的情况。有什么想法吗 [E 13:53:08.195 NotebookApp] 500 GET /conda/environments/root?_=1484574786374 (127.0.0.1) 760.41ms referer=http://localhost:8888/tree? [E 13:53:14.557 N

我正在通过web浏览器本地运行Anaconda3。每次我转到“Conda”部分查看(在)安装的软件包时,我得到
检索已安装软件包时出错。内部服务器错误

检查日志,这就是当前发生的情况。有什么想法吗

[E 13:53:08.195 NotebookApp] 500 GET /conda/environments/root?_=1484574786374 (127.0.0.1) 760.41ms referer=http://localhost:8888/tree?
[E 13:53:14.557 NotebookApp] Unhandled error in API request
    Traceback (most recent call last):
      File "/root/anaconda3/lib/python3.5/site-

    packages/notebook/base/handlers.py", line 503, in wrapper
            result = yield gen.maybe_future(method(self, *args, **kwargs))
          File "/root/anaconda3/lib/python3.5/site-packages/nb_conda/handlers.py", line 62, in get
            self.finish(json.dumps(self.env_manager.env_packages(env)))
          File "/root/anaconda3/lib/python3.5/site-packages/nb_conda/envmanager.py", line 124, in env_packages
            "packages": [pkg_info(package) for package in data]
          File "/root/anaconda3/lib/python3.5/site-packages/nb_conda/envmanager.py", line 124, in <listcomp>
            "packages": [pkg_info(package) for package in data]
          File "/root/anaconda3/lib/python3.5/site-packages/nb_conda/envmanager.py", line 16, in pkg_info
            name, version, build = s.rsplit('-', 2)
        AttributeError: 'dict' object has no attribute 'rsplit'
    [E 13:53:14.558 NotebookApp] {
          "Accept-Language": "en-US,en;q=0.8,es;q=0.6",
          "Connection": "keep-alive",
          "X-Requested-With": "XMLHttpRequest",
          "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36",
          "Accept-Encoding": "gzip, deflate, sdch, br",
          "Cookie": "_xsrf=2|0e84028c|becasdfafdssffjkafdsjkf473451bfcb|1484574343; username-localhost-8888=\"2|1:0|10:1484574347|23:username-localhost-8888|44:ODBlMWE5Mjk1MjRiNDNmNDhkZTVkNTU5MGI3NTNmNDQ=|83dad5a9e1aa2da460539882d41f5b3a7ac93163dab3b324526b730be88d7d69\"",
          "Referer": "http://localhost:8888/tree?",
          "Host": "localhost:8888",
          "Accept": "application/json, text/javascript, */*; q=0.01"
        }
    [E 13:53:14.559 NotebookApp] 500 GET /conda/environments/root?_=1484574792779 (127.0.0.1) 750.79ms referer=http://localhost:8888/tree?
[E 13:53:08.195 NotebookApp]500 GET/conda/environments/root?\u=1484574786374(127.0.0.1)760.41ms referer=http://localhost:8888/tree?
[E 13:53:14.557 NotebookApp]API请求中未处理的错误
回溯(最近一次呼叫最后一次):
文件“/root/anaconda3/lib/python3.5/site-
packages/notebook/base/handlers.py”,第503行,包装中
结果=未来产量(方法(self,*args,**kwargs))
文件“/root/anaconda3/lib/python3.5/site packages/nb_conda/handlers.py”,get中第62行
self.finish(json.dumps(self.env_-manager.env_-packages(env)))
文件“/root/anaconda3/lib/python3.5/site packages/nb_conda/envmanager.py”,第124行,在env_包中
“包”:[数据中包的包信息(包)]
文件“/root/anaconda3/lib/python3.5/site packages/nb_conda/envmanager.py”,第124行,在
“包”:[数据中包的包信息(包)]
文件“/root/anaconda3/lib/python3.5/site packages/nb_conda/envmanager.py”,第16行,在pkg_信息中
名称、版本、内部版本=s.rsplit('-',2)
AttributeError:“dict”对象没有属性“rsplit”
[E 13:53:14.558 NotebookApp]{
“接受语言”:“en-US,en;q=0.8,es;q=0.6”,
“连接”:“保持活动状态”,
“X-request-With”:“XMLHttpRequest”,
“用户代理”:“Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,如Gecko)Chrome/55.0.2883.87 Safari/537.36”,
“接受编码”:“gzip、deflate、sdch、br”,
“Cookie”:“U xsrf=2 | 0e84028c | becasdfafdssffjkafdsjkf473451bfcb | 1484574343;username-localhost-8888=”2 | 1:0 | 10:1484574347 | 23:username-localhost-8888 | 44:odblmjjjjkk1mjkrindndhkztvkntkntvkntu5gi3nndq=”dad835a9e1aa2da4605398821f3a7ac933db32457b32457b9,
“推荐人”:http://localhost:8888/tree?",
“主机”:“本地主机:8888”,
“接受”:“应用程序/json,文本/javascript,*/*;q=0.01”
}
[E 13:53:14.559 NotebookApp]500 GET/conda/environments/root?\u=1484574792779(127.0.0.1)750.79ms referer=http://localhost:8888/tree?

也许这应该是一个评论,但我没有足够的声誉来评论这些

这是一个很好的例子。康达包裹信息的输出格式已经改变,必须调整nb_康达。已经有了,但我在任何频道都找不到变化

安装分支(包括修复程序)目前有帮助:

pip安装git+https://github.com/Anaconda-Platform/nb_conda.git@d488d9e——升级

--升级
是可选的,我需要它,因为我安装的版本相同

如所述,从
conda forge
频道安装
nb_conda_内核(可能作为依赖项拉入
nb_conda
),对我的情况没有帮助,但如果包中包含修复程序,应该可以工作。

Motivic的建议(在他对问题的评论中)对我有效

$ conda install -c conda-forge nb_conda_kernels
我已经有了一个旧版本的nb_conda_内核,所以它更新到了2.1.0

The following packages will be UPDATED:
    nb_conda_kernels: 2.0.0-py27_0 --> 2.1.0-py27_0 conda-forge

在那之后,Jupyter笔记本中的Conda标签工作正常。我还能够
conda安装pandas
,这之前给了我一个错误。

当我单击Jupyter笔记本中的conda选项卡时,它总是抛出与您相同的错误

Stackoverflow和github上的所有解决方案都帮不了我,所以在绝望中,我在Anaconda Doc上找到了这一行(在上):

注意:这些扩展已经安装在Anaconda版本4.1中 和4.2。如果已安装Anaconda v4.1或v4.2,则无需安装 单独安装。要开始使用它们,请打开一个新的或 现有笔记本

检查您的Anaconda是否高于4.2版。我的是4.4.0

W.Zhan Lesson 1 Data Analysis Process $ conda remove nb_conda
Fetching package metadata .........
Solving package specifications: .

Package plan for package removal in environment /Users/W.Zhan/anaconda:

The following packages will be REMOVED:

    _nb_ext_conf:     0.4.0-py36_1
    nb_anacondacloud: 1.4.0-py36_0
    nb_conda:         2.2.0-py36_0
    nbpresent:        3.0.2-py36_0

Proceed ([y]/n)? y

W.Zhan Lesson 1 Data Analysis Process $ python --version
Python 3.6.1 :: Anaconda 4.4.0 (x86_64)
因此,我卸载了终端中的conda,只激活了我想要使用的环境,并在特定的环境中打开Jupyter

W.Zhan Lesson 1 Data Analysis Process $ source activate DAND
(DAND) W.Zhan Lesson 1 Data Analysis Process $ jupyter notebook
不确定这是否能解决您的问题,对我来说,虽然Jupyter中不再有“conda”选项卡,但只要我能在Jupyter中使用自定义环境,我就可以了


希望有帮助。

我也有这个问题(conda 4.3.25,LinuxMint17.2Rafaela,Ubuntu14.04.2LTS,Trusty Tahr)。我尝试了通常的更新补救措施,但没有效果,因此我修补了../site packages/nb_conda/envmanager.py第16行的代码

    name, version, build = s.rsplit('-', 2)
变成:

    if isinstance(s, dict):
        s = s['dist_name']
    name, version, build = s.rsplit('-', 2) 

这对我很有帮助,YMMV。请注意,根据字典内容,当前in有一个类似的修复程序。

我在尝试为不同环境管理内核时遇到了相同的问题。安装
nb_conda_内核
似乎已经为我解决了这个问题:
conda安装-c conda forge nb_conda_内核
这解决了我的问题。谢谢@事实上,你应该把它转换成一个答案。它也帮助了我…@本杰明基于莫蒂维克的想法,我创造了。它也帮助了我!不管用修复程序拉分支,我都会遇到这个错误。有没有办法用conda为jupyter notebook设置默认环境?@RyderBergerud如果没有进一步的信息,我真的帮不了你,修复程序在分支中,对我有效。我还假设jupyter没有在正确的环境中执行。请参阅conda environments和jupyter。只是一个小提示,该分支在修复它的PR合并后3天前被删除,因此正确的安装方法是现在的
pip install git+https://github.com/Anaconda-Platform/nb_conda.git@d488d9e--升级