在setup.py中解决头文件依赖问题

1 投票
1 回答
2089 浏览
提问于 2025-04-16 16:48

我在Windows上安装一个Python模块时遇到了困难。这个模块需要用到libpcap和winpcap这两个库。

当我尝试运行'setup.py'时,出现了致命错误,脚本就中止了,下面是一个错误示例:

Cannot open include file: 'pcap.h': No such file or directory

我下载了源文件,并把它们放进了我的PATH环境变量里,但似乎没有解决问题。我可以一步步找到并把文件移动到预期的目录结构中,比如上面提到的'pcap.h'。不过,如果脚本能直接引用正确的库,那就简单多了,我就不需要为我的电脑做这些繁琐的调整了。

我想我需要修改'setup.py'中下面这部分代码:

bpf = Extension(name='bpf',
        sources=[ 'pcs/bpf/bpf.pyx' ],
        include_dirs=['/usr/include/pcap'],
        library_dirs=['/usr/lib'],
        libraries=['pcap']
    )

我尝试过用cygwin和minigw来运行安装。

1 个回答

1

你有没有试过查看这个构建说明呢?

winpcap development is free. http://www.winpcap.org/install/bin/WpdPack_4_0_2.zip

1) Download MinGW32. Install to c:\wingw32
2) path=%path%;c:\wingw32\bin
3) Download winpcap development pack from above. Unzip to c:\WpdPack
4) From pypcap-1.1 directory. 
   > python .\setup.py --with-pcap="C:\WpdPack"
   > python .\setup.py build -cmingw32
   > python .\setup.py install

撰写回答