我是在调用scipy包的时候出现的问题
scipy包本身是anaconda自带的,但是注意!此处可能存在兼容问题

这个错误本质是缺少了dll文件,但这个错误往往会让人很困扰,因为他不会提示缺少的具体dll文件。

几种说法

1)vscode 的运行环境可以解决这个问题
2)numpy包的版本兼容问题

以上方法对我均无效
尝试了很多方式都无法解决,看到一个博主通过dependencywalker排查 pyd的问题
(ps:下载dependencywalker后,将对应报错文件夹的.pyd拖进去检查)
此处忘记截图了!!!
贴一个其他博主的示意图~:
在这里插入图片描述
我排查下来发现确实丢失了很多dll,但是我总不可能单独下载吧~
于是我去python的所在硬盘搜,并没有搜到缺失的dll。(如果找到的话,可以直接复制过去到你报错的文件夹
我估计是anaconda自带的scipy包存在的问题~

此处我选择卸载anaconda的scipy包!!
注意:此处不要用anaconda prompt操作
请在cmd下使用pip 对包进行操作

pip uninstall scipy
pip install scipy

是不是以为本文就到这里结束了!
当然不是!此处我又遇到了一个错误,安装时报了很多错
类似如下这种:

问题:通过默认镜像安装,下载过程中可能会报错,下载安装失败

Traceback (most recent call last):
File “E:\Anaconda3\lib\site-packages\pip_vendor\urllib3\response.py”, line 360, in _error_catcher
yield
File “E:\Anaconda3\lib\site-packages\pip_vendor\urllib3\response.py”, line 442, in read
data = self._fp.read(amt)
File “E:\Anaconda3\lib\site-packages\pip_vendor\cachecontrol\filewrapper.py”, line 62, in read
data = self.__fp.read(amt)
File “E:\Anaconda3\lib\http\client.py”, line 447, in read
n = self.readinto(b)
File “E:\Anaconda3\lib\http\client.py”, line 491, in readinto
n = self.fp.readinto(b)
File “E:\Anaconda3\lib\socket.py”, line 589, in readinto
return self._sock.recv_into(b)
File “E:\Anaconda3\lib\ssl.py”, line 1052, in recv_into
return self.read(nbytes, buffer)
File “E:\Anaconda3\lib\ssl.py”, line 911, in read
return self._sslobj.read(len, buffer)
socket.timeout: The read operation timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “E:\Anaconda3\lib\site-packages\pip_internal\cli\base_command.py”, line 179, in main
status = self.run(options, args)
File “E:\Anaconda3\lib\site-packages\pip_internal\commands\install.py”, line 315, in run
resolver.resolve(requirement_set)
File “E:\Anaconda3\lib\site-packages\pip_internal\resolve.py”, line 131, in resolve
self._resolve_one(requirement_set, req)
File “E:\Anaconda3\lib\site-packages\pip_internal\resolve.py”, line 294, in _resolve_one
abstract_dist = self._get_abstract_dist_for(req_to_install)
File “E:\Anaconda3\lib\site-packages\pip_internal\resolve.py”, line 242, in _get_abstract_dist_for
self.require_hashes
File “E:\Anaconda3\lib\site-packages\pip_internal\operations\prepare.py”, line 334, in prepare_linked_requirement
progress_bar=self.progress_bar
File “E:\Anaconda3\lib\site-packages\pip_internal\download.py”, line 878, in unpack_url
progress_bar=progress_bar
File “E:\Anaconda3\lib\site-packages\pip_internal\download.py”, line 702, in unpack_http_url
progress_bar)
File “E:\Anaconda3\lib\site-packages\pip_internal\download.py”, line 946, in _download_http_url
_download_url(resp, link, content_file, hashes, progress_bar)
File “E:\Anaconda3\lib\site-packages\pip_internal\download.py”, line 639, in _download_url
hashes.check_against_chunks(downloaded_chunks)
File “E:\Anaconda3\lib\site-packages\pip_internal\utils\hashes.py”, line 62, in check_against_chunks
for chunk in chunks:
File “E:\Anaconda3\lib\site-packages\pip_internal\download.py”, line 607, in written_chunks
for chunk in chunks:
File “E:\Anaconda3\lib\site-packages\pip_internal\utils\ui.py”, line 159, in iter
for x in it:
File “E:\Anaconda3\lib\site-packages\pip_internal\download.py”, line 596, in resp_read
decode_content=False):
File “E:\Anaconda3\lib\site-packages\pip_vendor\urllib3\response.py”, line 494, in stream
data = self.read(amt=amt, decode_content=decode_content)
File “E:\Anaconda3\lib\site-packages\pip_vendor\urllib3\response.py”, line 459, in read
raise IncompleteRead(self._fp_bytes_read, self.length_remaining)
File “E:\Anaconda3\lib\contextlib.py”, line 130, in exit
self.gen.throw(type, value, traceback)
File “E:\Anaconda3\lib\site-packages\pip_vendor\urllib3\response.py”, line 365, in _error_catcher
raise ReadTimeoutError(self._pool, None, ‘Read timed out.)
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host=‘files.pythonhosted.org’, port=443): Read timed out.

解决方法:一般可以考虑更换镜像源

pip install scipy -i https://pypi.douban.com/simple

然后就安装成功啦~~
接下来就不会报:ImportError: DLL load failed while importing _arpack: 找不到指定的程序。这个错误了!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐