如何在Mac上安装pylibnet

时间:2011-11-20 14:41:05

标签: python install macports libnet

在example.py文件中我有:

import libnet

但是当我通过以下方式执行时:

/opt/local/bin/python2.5 example.py

我收到“ImportError:没有名为libnet的模块”

我是如何安装的:

  • 转到http://pylibnet.sourceforge.net/并下载
  • 阅读README文件,其中说:在Mac上编译不起作用,使用Macports加载并使用python 2.5
  • 安装并使用了python 2.5
  • 通过以下方式安装libnet:sudo port install libnet11
  • 一切似乎都很好

只是错误停留,似乎没有安装。我现在能做什么?

感谢您提供任何帮助!

/编辑:

用:“sudo /opt/local/bin/python2.5 setup.py install”,我得到了:

Searching for libnet...
running install
running build
running build_ext
building 'libnet' extension
/Developer/usr/bin/llvm-gcc-4.2 -fno-strict-aliasing -mno-fused-madd -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -DLIBNET_MAJOR_VERSION=1 -DLIBNET_MINOR_VERSION=1 -DLIBNET_RELEASE=5 -DMAJOR_VERSION=2 -DMINOR_VERSION=0 -I/opt/local/include -I/opt/local/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5 -c src/libnetmodule.c -o build/temp.macosx-10.7-x86_64-2.5/src/libnetmodule.o
In file included from src/context.c:110,
                 from src/libnetmodule.c:37:
src/builders.c: In function 'context_build_icmpv4_timestamp':
src/builders.c:726: error: 'n_time' undeclared (first use in this function)
src/builders.c:726: error: (Each undeclared identifier is reported only once
src/builders.c:726: error: for each function it appears in.)
src/builders.c:726: error: expected ';' before 'otime'
src/builders.c:727: error: expected ';' before 'rtime'
src/builders.c:728: error: expected ';' before 'ttime'
src/builders.c:735: error: 'otime' undeclared (first use in this function)
src/builders.c:735: error: 'rtime' undeclared (first use in this function)
src/builders.c:735: error: 'ttime' undeclared (first use in this function)
error: command '/Developer/usr/bin/llvm-gcc-4.2' failed with exit status 1

1 个答案:

答案 0 :(得分:1)

使用MacPorts安装C库后,您是否安装了下载的python libnet包装器?如果没有,cd到de-tarred pylibnet目录并尝试:

sudo /opt/local/bin/python2.5 setup.py install

更新:根据您更新的问题,现在看来您在/sw中安装了另一个版本的libnet C库,这是Fink安装的软件包的默认位置。您不应该尝试混合包管理器。选择一个 - MacPorts,Fink或Homebrew是OS X上最受欢迎的 - 并且坚持使用它。作为短期修复,您可以编辑setup.py文件以删除对/sw的搜索。您应该在某个时候评估您使用Fink和MacPorts安装的软件包,选择一个,在其中安装任何缺少的端口/软件包,并完全删除其他软件包系统。