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

Windows11安装yara-python报错:无法打开头文件'openssl/asn1.h'

问题

在Windows 11系统中,按以下步骤操作时安装yara-python失败:

  • 执行C:\Users\admin\code\my-project\venv\Scripts\activate.bat激活虚拟环境
  • 运行pip install yara-python命令,出现致命错误C1083,提示无法打开包含文件openssl/asn1.h

已安装Visual Studio Installer及Visual Studio Build Tools 2022,添加了“使用C++的桌面开发”组件,以及Windows 11 SDK、Windows 10 SDK和MSVC v142等可选组件,但问题依旧。完整错误输出如下:

Collecting yara-python
  Using cached yara-python-4.3.0.tar.gz (537 kB)
  Preparing metadata (setup.py): started
  Preparing metadata (setup.py): finished with status 'done'
Building wheels for collected packages: yara-python
  Building wheel for yara-python (setup.py): started
  Building wheel for yara-python (setup.py): finished with status 'error'
  Running setup.py clean for yara-python
Failed to build yara-python
Installing collected packages: yara-python
  Running setup.py install for yara-python: started
  Running setup.py install for yara-python: finished with status 'error'

  error: subprocess-exited-with-error
  
  python setup.py bdist_wheel did not run successfully.
  exit code: 1
  
  [180 lines of output]
  C:\Users\admin\code\limacharlie-signatures\venv\Lib\site-packages\setuptools\config\setupcfg.py:516: SetuptoolsDeprecationWarning: The license_file parameter is deprecated, use license_files instead.
    warnings.warn(msg, warning_class)
  running bdist_wheel
  running build
  running build_ext
  building 'yara' extension
  creating build
  creating build\temp.win-amd64-cpython-311
  creating build\temp.win-amd64-cpython-311\Release
  creating build\temp.win-amd64-cpython-311\Release\yara
  creating build\temp.win-amd64-cpython-311\Release\yara\libyara
  creating build\temp.win-amd64-cpython-311\Release\yara\libyara\modules
  creating build\temp.win-amd64-cpython-311\Release\yara\libyara\modules\console
  creating build\temp.win-amd64-cpython-311\Release\yara\libyara\modules\demo
  creating build\temp.win-amd64-cpython-311\Release\yara\libyara\modules\dotnet
  creating build\temp.win-amd64-cpython-311\Release\yara\libyara\modules\elf
  creating build\temp.win-amd64-cpython-311\Release\yara\libyara\modules\hash
  creating build\temp.win-amd64-cpython-311\Release\yara\libyara\modules\math
  creating build\temp.win-amd64-cpython-311\Release\yara\libyara\modules\pe
  creating build\temp.win-amd64-cpython-311\Release\yara\libyara\modules\pe\authenticode-parser
  creating build\temp.win-amd64-cpython-311\Release\yara\libyara\modules\string
  creating build\temp.win-amd64-cpython-311\Release\yara\libyara\modules\tests
  creating build\temp.win-amd64-cpython-311\Release\yara\libyara\modules\time
  creating build\temp.win-amd64-cpython-311\Release\yara\libyara\proc
  creating build\temp.win-amd64-cpython-311\Release\yara\libyara\tlshc
  "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.35.32215\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -DBUCKETS_128=1 -DCHECKSUM_1B=1 -DUSE_WINDOWS_PROC=1 -D_CRT_SECURE_NO_WARNINGS=1 -DHAVE_STDBOOL_H=1 -DHASH_MODULE=1 -DHAVE_WINCRYPT_H=1 -DDOTNET_MODULE=1 -Iyara/libyara/include -Iyara/libyara/ -I. -IC:\Users\admin\code\limacharlie-signatures\venv\include -IC:\Users\admin\AppData\Local\Programs\Python\Python311\include -IC:\Users\admin\AppData\Local\Programs\Python\Python311\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.35.32215\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.35.32215\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\cppwinrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" /Tcyara-python.c /Fobuild\temp.win-amd64-cpython-311\Release\yara-python.obj
  yara-python.c
  yara-python.c(1527): warning C4090: '=': different 'const' qualifiers
  yara-python.c(1556): warning C4090: 'initializing': different 'const' qualifiers
  yara-python.c(1597): warning C4090: '=': different 'const' qualifiers
  yara-python.c(1626): warning C4090: 'initializing': different 'const' qualifiers
  yara-python.c(1942): warning C4018: '<': signed/unsigned mismatch
  yara-python.c(1943): warning C4244: '=': conversion from 'uint64_t' to 'uint8_t', possible loss of data
  yara-python.c(2187): warning C4047: '==': 'int' differs in levels of indirection from 'void *'
  yara-python.c(2823): warning C4090: '=': different 'const' qualifiers
  yara-python.c(2824): warning C4090: '=': different 'const' qualifiers
  yara-python.c(2858): warning C4090: '=': different 'const' qualifiers
  yara-python.c(2859): warning C4090: '=': different 'const' qualifiers
  "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.35.32215\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -DBUCKETS_128=1 -DCHECKSUM_1B=1 -DUSE_WINDOWS_PROC=1 -D_CRT_SECURE_NO_WARNINGS=1 -DHAVE_STDBOOL_H=1 -DHASH_MODULE=1 -DHAVE_WINCRYPT_H=1 -DDOTNET_MODULE=1 -Iyara/libyara/include -Iyara/libyara/ -I. -IC:\Users\admin\code\limacharlie-signatures\venv\include -IC:\Users\admin\AppData\Local\Programs\Python\Python311\include -IC:\Users\admin\AppData\Local\Programs\Python\Python311\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.35.32215\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.35.32215\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\cppwinrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" /Tcyara\libyara\ahocorasick.c /Fobuild\temp.win-amd64-cpython-311\Release\yara\libyara\ahocorasick.obj
  ahocorasick.c
  
  "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.35.32215\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -DBUCKETS_128=1 -DCHECKSUM_1B=1 -DUSE_WINDOWS_PROC=1 -D_CRT_SECURE_NO_WARNINGS=1 -DHAVE_STDBOOL_H=1 -DHASH_MODULE=1 -DHAVE_WINCRYPT_H=1 -DDOTNET_MODULE=1 -Iyara/libyara/include -Iyara/libyara/ -I. -IC:\Users\admin\code\limacharlie-signatures\venv\include -IC:\Users\admin\AppData\Local\Programs\Python\Python311\include -IC:\Users\admin\AppData\Local\Programs\Python\Python311\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.35.32215\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.35.32215\ATLMFC\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\cppwinrt" "-IC:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\include\um" /Tcyara\libyara\modules\pe\authenticode-parser\authenticode.c /Fobuild\temp.win-amd64-cpython-311\Release\yara\libyara\modules\pe\authenticode-parser\authenticode.obj
  authenticode.c
  yara\libyara\modules\pe\authenticode-parser\authenticode.c(22): fatal error C1083: Cannot open include file: 'openssl/asn1.h': No such file or directory
  error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools\\VC\\Tools\\MSVC\\14.35.32215\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
  [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure

Encountered error while trying to install package.

yara-python

note: This is an issue with the package mentioned above, not pip.
hint: See above for output from the failure.
解决方案

方法1:安装预编译二进制包(推荐)

直接使用已编译好的包,跳过本地编译环节:

pip install yara-python --only-binary :all:

若需指定版本,执行:

pip install yara-python==4.3.0 --only-binary :all:

方法2:配置OpenSSL编译依赖

若必须本地编译,需安装OpenSSL并让编译器识别其路径:

  • 下载对应系统架构的OpenSSL预编译包并安装
  • 设置环境变量:
    • 将OpenSSL安装目录下的include路径(如C:\OpenSSL-win64\include)添加到INCLUDE变量
    • 将OpenSSL安装目录下的lib路径(如C:\OpenSSL-win64\lib)添加到LIB变量
  • 重启命令提示符,激活虚拟环境后重新执行pip install yara-python

方法3:禁用Authenticode模块

修改yara-python编译配置,跳过依赖OpenSSL的模块:

  1. 克隆源码:
git clone https://github.com/VirusTotal/yara-python.git
cd yara-python
  1. 编辑setup.py,移除-DDOTNET_MODULE=1编译参数,或添加-DNO_AUTHENTICODE=1
  2. 本地编译安装:
python setup.py install

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 18:39:52