Anaconda一直显示loading application问题的解决
使用Anaconda Prompt打开Anaconda,发现报错如下所示:
(base) C:Userslenovo>anaconda-navigator
E:Dev_configAnaconda3libsite-packagesanaconda_navigatorapiconda_api.py:1364: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
data = yaml.load(f)
Traceback (most recent call last):
File "E:Dev_configAnaconda3libsite-packagesanaconda_navigatorwidgetsmain_window.py", line 539, in setup
self.post_setup(conda_data=conda_data)
File "E:Dev_configAnaconda3libsite-packagesanaconda_navigatorwidgetsmain_window.py", line 576, in post_setup
self.tab_home.setup(conda_data)
File "E:Dev_configAnaconda3libsite-packagesanaconda_navigatorwidgets abshome.py", line 169, in setup
self.set_applications(applications, packages)
File "E:Dev_configAnaconda3libsite-packagesanaconda_navigatorwidgets abshome.py", line 231, in set_applications
non_conda=app.get(non_conda, False),
File "E:Dev_configAnaconda3libsite-packagesanaconda_navigatorwidgetslistsapps.py", line 199, in __init__
to_text_string(self.version)
File "E:Dev_configAnaconda3libsite-packagesanaconda_navigatorwidgetslistsapps.py", line 538, in version
version = self._vscode_version()
File "E:Dev_configAnaconda3libsite-packagesanaconda_navigatorwidgetslistsapps.py", line 506, in _vscode_version
stderr = stderr.decode()
UnicodeDecodeError: utf-8 codec cant decode byte 0xd5 in position 4: invalid continuation byte
由此可知错误是由编码问题引起的
打开apps.py文件,定位到错误位置,发现该处代码是在获取vscode的版本:
由于win系统默认编码是GBK,所以获取到的版本信息也是GBK编码,而代码默认使用的是utf-8编码,因此会报错。
由此猜测该错误发生的原因是在安装Anaconda之前下载了vscode,解决方案有两种:
- 卸载vscode,重装Anaconda,在安装时勾选安装vscode选项
- 修改apps.py文件中506行代码如下:
stderr = stderr.decode(gbk)
再次点击Anaconda navigator图标即可正常启动
