You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

Windows7新环境pip install报LNK1104:无法打开kernel32.lib(VS2017)

解决pip install Twisted时出现fatal error LNK1104: cannot open file 'kernel32.lib'的问题

我之前在全新Windows 7+Python环境下装Twisted时也踩过这个坑,这个错误本质是VC 2017 Build Tools找不到Windows SDK里的系统库文件,下面是亲测有效的解决办法:

方法一:补全Windows SDK组件

VC 2017 Build Tools默认可能没安装对应Windows版本的SDK,导致找不到kernel32.lib:

  • 打开Visual Studio Installer(如果没装,直接重新运行VC2017 Build Tools的安装程序)
  • 找到已安装的「Visual Studio Build Tools 2017」,点击「修改」
  • 在「工作负载」标签下确保「C++ build tools」已勾选,然后切换到「单个组件」标签
  • 找到并勾选Windows 7 SDK(或者与你的系统兼容的SDK版本,比如针对Win7的v7.1版本),以及对应的SDK工具集
  • 点击「修改」完成安装,重启电脑后再尝试pip install twisted

方法二:手动配置环境变量

如果SDK已经安装但路径没被识别,手动添加系统环境变量:

  • 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
  • 在「系统变量」区域:
    • 新建或编辑LIB变量,添加Windows SDK的lib路径(64位Python对应x64路径):
      比如Windows 7 SDK的路径是C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib\x64
      若是Windows 10 SDK则是C:\Program Files (x86)\Windows Kits\10\Lib\10.0.xxxx.x\um\x64(xxxx为你的SDK版本号)
    • 新建或编辑INCLUDE变量,添加SDK的include路径:
      对应路径比如C:\Program Files\Microsoft SDKs\Windows\v7.1\IncludeC:\Program Files (x86)\Windows Kits\10\Include\10.0.xxxx.x\um
  • 保存后重启命令行窗口,再执行安装命令

方法三:直接安装预编译wheel包(最省心)

不想折腾编译环境的话,直接用预编译的二进制包跳过编译步骤:

  • 先安装wheel工具:pip install wheel
  • 找到对应Python36+64位系统的Twisted wheel包(比如版本20.3.0的Twisted-20.3.0-cp36-cp36m-win_amd64.whl
  • 执行pip install Twisted-xxx-win_amd64.whl(替换成你下载的文件名)即可完成安装

方法四:确保工具链位数匹配

因为你用的是64位Python,要确保VC工具链也用x64版本:

  • 打开「Developer Command Prompt for VS 2017」
  • 执行vcvars64.bat激活x64编译环境
  • 在这个窗口里运行pip install twisted

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

火山引擎 最新活动