You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python 2.7部署PyHive遇ImportError: No module named builtins问题

解决PyHive在Python 2.7中导入时的"ImportError: No module named builtins"问题

嘿,我来帮你搞定这个PyHive导入报错的问题~这个错误根源很明确:builtins是Python 3的内置模块,而PyHive 0.5.1的部分代码用到了它,虽然官方说支持Python 2,但需要future库来做兼容层——你已经装了future,但可能是版本适配或者触发逻辑的问题,我给你两个解决方案,先试试不用升级Python的办法,再说说升级到Python 3的注意事项(毕竟这是更长期的靠谱方案)。

方案一:修复Python 2.7环境下的依赖兼容问题

  • 先确认future库的安装状态:你装的是future-0.9.0,这个版本确实支持Python 2.7,但先检查安装是否真的成功。可以在命令行执行pip show future(如果你的Python 2.7装了pip的话),或者直接去Python的site-packages目录里看看有没有future文件夹。
  • 如果安装没问题,试试手动在测试脚本开头添加兼容触发代码,强制启用Python 3的模块兼容:
    from __future__ import absolute_import, division, print_function
    import builtins
    from pyhive import hive
    
  • 要是还是不行,建议更换future的版本试试,比如future-0.18.3(这是支持Python 2的最后几个稳定版本之一)。你可以在有网机器上下载好future-0.18.3.tar.gz,传到无网机器后重新执行python setup.py build && python setup.py install。
  • 另外也确认下thrift的安装状态:PyHive 0.5.1搭配thrift 0.11.0是没问题的,执行python -c "import thrift"看看有没有报错,确保thrift也正确安装了。

方案二:升级到Python 3(更推荐的长期方案)

毕竟Python 2.7已经停止维护好几年了,后续几乎不会有库再支持它,升级到Python 3是更稳妥的选择,针对你的无网环境,步骤如下:

  • 先在有网机器上下载Windows 10 64位对应的Python 3离线安装包(推荐选3.8.x或3.9.x这类稳定版本,要选包含所有依赖的exe格式离线包)。
  • 把安装包传到无网机器上执行安装,记得勾选“Add Python to PATH”选项(如果安装界面有的话,这样后续用命令行更方便)。
  • 然后在有网机器上下载PyHive及其所有依赖的离线包:打开命令行,执行pip download pyhive[hive],这个命令会把PyHive、thrift、sasl等所有需要的依赖都下载到当前目录。
  • 把这些下载好的.tar.gz或.whl文件全部传到无网机器上,进入文件所在目录,执行pip install --no-index --find-links=. pyhive[hive],这样pip会完全从本地文件安装所有依赖,不用联网。
  • 安装完成后,再测试from pyhive import hive,应该就能正常运行了。

内容的提问来源于stack exchange,提问作者David Rush

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:58:35