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<

### Anaconda 中 `TypeError: 'type' object is not subscriptable` 错误解决方案 当遇到 `TypeError: 'type' object is not subscriptable` 的错误时,通常意味着尝试对不可下标的对象进行了索引操作。对于特定于 Anaconda 环境中的此类问题,可以采取以下措施来解决问题。 #### 1. 检查环境配置 确保当前使用的 Python 版本与所需库兼容。有时不同版本之间的差异可能导致不兼容的问题。可以通过命令 `conda list python` 来查看当前环境中安装的 Python 版本[^4]。 #### 2. 更新或重新安装冲突包 如果是因为某些依赖项之间存在版本冲突而引发此异常,则应考虑更新这些软件包到最新稳定版或者卸载后再重装它们。特别是 PyQt5 和其他 GUI 库可能会引起这类问题。具体做法如下: ```bash conda update pyqt pip uninstall pyqt5 && pip install pyqt5==5.x.x # 替换为合适的版本号 ``` #### 3. 修改源码适应新API变化 随着第三方库不断迭代升级,其内部实现也可能发生变化,这可能会影响到之前写好的代码逻辑。因此建议查阅官方文档确认是否有 API 变更,并据此调整自己的程序以适配新的接口定义方式。 例如,在处理图像标注工具 LabelMe 抛出该类异常的情况下,可能是由于访问了尚未初始化的对象属性所造成的。此时应当先判断目标变量是否为空再执行后续的操作: ```python if QT_VERSION and isinstance(QT_VERSION, str): QT4 = QT_VERSION.startswith('4') else: QT4 = False ``` 通过以上方法应该能够有效缓解乃至彻底消除上述提到的技术难题。当然实际应用过程中还需结合具体情况灵活应对。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值