【Bug】Anaconda相关问题与解决方法

Anaconda中遇到的问题

1. Anaconda_Navigator 无法运行

我这里的安装包是 清华开源镜像 上下载的 Anaconda3-5.2.0-Windows-x86_64.exe(基于python3.6.5)

注意:PyTorch 只支持 Python 3.7-3.9,所以此处应该把 Anaconda 版本安装高一点。

尝试运行 Anaconda Navigator 的时候卡在了 Loading_application 的步骤

试过重新安装以及使用管理员运行 Anaconda Prompt 再输入 anaconda-navigator,结果显示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
(base) C:\Users\lenovo>anaconda-navigator
2022-09-24 20:52:01,552 - ERROR download_api._get_url:378
Expecting value: line 1 column 1 (char 0)

Traceback (most recent call last):
File "D:\Anaconda3\lib\site-packages\anaconda_navigator\widgets\main_window.py", line 484, in setup
self.post_setup(conda_data=conda_data)
File "D:\Anaconda3\lib\site-packages\anaconda_navigator\widgets\main_window.py", line 521, in post_setup
self.tab_home.setup(conda_data)
File "D:\Anaconda3\lib\site-packages\anaconda_navigator\widgets\tabs\home.py", line 169, in setup
self.set_applications(applications, packages)
File "D:\Anaconda3\lib\site-packages\anaconda_navigator\widgets\tabs\home.py", line 204, in set_applications
apps = self.api.process_apps(applications, prefix=self.current_prefix)
File "D:\Anaconda3\lib\site-packages\anaconda_navigator\api\anaconda_api.py", line 811, in process_apps
versions=[vsdata.get('productVersion')],
AttributeError: 'str' object has no attribute 'get'

由错误提示,找到文件anaconda_api.py的文件第811行。

根据 网友文章 了解是vscode的官方更新地址发生改变,而anaconda安装文件中并没有更新这个地址而导致的错误,因此解决办法就是修改anaconda_api.py文件第903行为可用的vscode的地址,如下代码:

1
2
3
4
5
VSCODE_ENDPOINT = (
# 'https://vscode-update.azurewebsites.net/api/update'
'https://update.code.visualstudio.com/api/update'
'/{}/stable/version'.format(VSCODE_SUBDIR)
)

然后就可以成功运行了。

参考的文章见 此处

2. Torch 与 CUDA 不兼容

输入命令 print(torch.cuda.is_available()) 的时候结果为 false。

此处不建议重装 cuda,我们选择比较保险的改变 torch 版本。

注意,如果 Anaconda 版本过低 无法配置 3.7及以上的 Python 版本,需要将 Anaconda 升级重装。

可以通过 官方 找对应兼容的 PyTorch 版本。

1
2
3
conda -V # 查看conda版本
python -V # 查看Python版本
pip list # 查看已经安装的库的版本

win 下查看 cuda 版本的方法可以直接在 cmd 输入

1
nvcc --version

又或者参考 此处,桌面右键-> NAVIDIA桌面控制面板 -> 帮助-> 系统信息 -> 组件,可以找到

下载了比较新的 Anaconda 如果想使用早一点的 Python 可以以使用命令

1
conda create -n deepsort python=3.7

3. Anaconda环境变量配置

重装完 Anaconda 后,记得重新添加环境变量。

我的电脑右键-> 属性-> 高级系统设置-> 环境变量-> 系统变量-> path-> 编辑

假设你的安装路径为:D:\ProgramData\Anaconda3

需要将下面几个路径添加到环境变量里面去:

  • ;D:\ProgramData\Anaconda3 (Python需要)
  • ;D:\ProgramData\Anaconda3\Scripts (conda自带脚本)
  • ;D:\ProgramData\Anaconda3\Library\mingw-w64\bin (使用C with python的时候)
  • ;D:\ProgramData\Anaconda3\Library\bin(jupyter notebook动态库)

参考文章见 此处

4. conda 删除环境后 notebook 依旧显示 kernal

conda remove -n 环境名 --all 后输入jupyter kernelspec list 显示 kernal 依旧存在,所以需要手动删除 kernal,即

1
jupyter kernelspec remove 环境名

5. 修改Jupyter Notebook默认起始目录无效

jupyter notebook --generate-config ,初始化属性设置后打开给出目录下的jupyter_notebook_config.py 文件。

按照方法取消注释,修改后

1
c.NotebookApp.notebook_dir = 'E:\\你要的位置’

仍然以初始页面打开 Notebook

解决方法为,对 Jupyter Notebook的快捷方式 右键属性,删除 目标 栏后面的 “%USERPROFILE”

这其实就是你系统环境变量里的用户目录,每次在用这个快捷方式进入Jupyter的时候,

不管你怎么设置,都会将这个变量值传给目标,也就是Jupyter,然后再启动。

参考文章见 此处


【Bug】Anaconda相关问题与解决方法
http://achlier.github.io/2022/09/24/Anaconda相关问题与解决方法/
Author
Hailey
Posted on
September 24, 2022
Licensed under