Anaconda下的TypeError:LoadLibrary() argument1 must be str, not None问题。

版本:conda4.7.11

问题:在安装anaconda后,win+R,输入conda,显示正常。输入conda list,就出现了Anaconda下的TypeError:LoadLibrary() argument1 must be str, not None问题,其余操作也同样出现问题。

解决办法:输入conda.bat activate再进行其他操作即可。/或者直接打开Anaconda Prompt进行操作也不会出现此问题。

原因
conda4.7添加了libarchive依赖,这使得conda对Windows上的PATH更加敏感。Anaconda和Miniconda安装程序默认不修改PATH,而是改为修改注册表来自动运行批处理脚本(.bat文件),通过这种方式来使计算机能够找到Anaconda。.bat文件(在D:\Anaconda\condabin下)是设置正确library路径的关键,但是我们设置好路径后只能找到conda.exe,而找不到conda.bat,所以才导致了TypeError:LoadLibrary() argument1 must be str, not None问题。
(为什么会找不到,新人刚入门,不太懂,希望大佬能指点。)

Anaconda现在改为默认不修改路径使为了增强conda与系统的隔离性,使得conda不会干扰系统其他软件的运行,但是没想到给用户造成了困扰。

完全解决办法
目前我的conda已经可以完全正常工作了,虽然我并不十分清楚原因。操作如下:
1、发现TypeError后,使用了conda.bat activate命令,发现直接进入了anaconda环境中进行操作。可以使用,但是每次都要激活conda还是有些麻烦。
2、在github上找到了一个用户的解决方案,使用了conda init bash命令,这个命令在启动时默认激活基础环境。再次输入conda list,还是报错。就没管它了,继续装我的pytorch了,本来就是为了给pytorch搭个环境的。
3、装完重启了下命令窗口,再运行conda list命令,就没有报错了。应该是要重启窗口,初始化才生效吧。开发者的建议是通过激活的方式而不是修改path的方式使用conda。

github上开发者与用户有些吵起来了,貌似这一问题并没有完美解决,看时间还挺新的,不知道后续conda会不会修改这个问题。
附上github链接:https://github.com/conda/conda/issues/8836

猜你喜欢

转载自blog.csdn.net/AI414010/article/details/100011008