Python导入libarchive-c失败:FileNotFoundError问题求助
解决libarchive-c在Windows 10 x64下的依赖缺失问题
1. 修复api-ms-win-crt系列DLL缺失
- 下载并安装Visual C++ Redistributable for Visual Studio 2015-2019 x64版本,这类DLL属于微软C++运行时核心组件,安装后会自动部署到System32目录。
- 安装完成后重启系统,确保新的运行时库被系统加载。
2. 解决libcrypto-1_1-x64.dll缺失
两种实用方案可选:
- 方案一:从OpenSSL 1.1.x的x64二进制包中提取
libcrypto-1_1-x64.dll,将其复制到D:\Programs\libarchive目录(和archive.dll放在同一文件夹下)。 - 方案二:安装完整的OpenSSL 1.1.x x64版本,将其
bin目录(例如C:\OpenSSL-win64\bin)添加到系统PATH环境变量中,让系统能自动定位到该DLL。
3. 正确配置libarchive-c的路径
- 设置系统环境变量
LIBARCHIVE为D:\Programs\libarchive,libarchive-c会自动从该路径加载archive.dll。 - 或者在Python代码里手动指定路径:
import libarchive libarchive.set_library_path("D:\\Programs\\libarchive\\archive.dll") - 注意:修改环境变量后必须重启Python解释器或终端,确保变量生效。
验证依赖修复效果
- 打开命令提示符,切换到
D:\Programs\libarchive目录,执行rundll32.exe archive.dll,0。如果没有弹出缺失依赖的错误提示,说明依赖问题已解决。 - 随后运行Python代码测试libarchive-c的导入及文件提取功能。
内容的提问来源于stack exchange,提问作者Ξένη Γήινος
相关产品推荐
相关产品推荐

