无法加载DuckDB的httpfs扩展(手动安装后)
解决DuckDB手动安装httpfs扩展的常见问题
核心问题排查与解决
先处理"%1 is not a valid Win32 application"错误
你下载的httpfs.duckdb_extension.gz是Gzip压缩包,不能直接加载。必须先解压出后缀为.duckdb_extension的纯文件——用Windows自带的右键解压功能,或者7-Zip这类工具完成解压,再用解压后的文件进行操作。解决签名验证错误与加载路径问题
- 确认扩展版本与Python客户端版本完全一致:执行
import duckdb; print(duckdb.__version__),确保输出是0.9.2,和你下载的扩展版本严格匹配,版本不兼容会触发各类加载失败。 - 找到DuckDB的扩展搜索路径:执行
print(duckdb.extension_search_paths()),将解压后的httpfs.duckdb_extension放到输出列表中的任意一个路径下,之后直接执行LOAD httpfs;即可(记得先设置SET allow_unsigned_extensions = true;)。 - 如果手动指定路径加载,Windows路径要注意转义:
import duckdb conn = duckdb.connect() conn.execute("SET allow_unsigned_extensions = true;") # 用原始字符串或者双反斜杠写路径 conn.execute("LOAD 'C:\\your\\full\\path\\httpfs.duckdb_extension';")
- 确认扩展版本与Python客户端版本完全一致:执行
额外注意事项
- 不要修改扩展文件的文件名,必须保持
httpfs.duckdb_extension,改名会导致DuckDB无法识别。 - 确保你的Python环境是64位的(AMD64),如果是32位Python,即使下载了64位扩展也会报错。
- 不要修改扩展文件的文件名,必须保持
内容的提问来源于stack exchange,提问作者Moiz
相关产品推荐
相关产品推荐

