如何在IP2Location库中编辑setup.py

时间:2012-12-10 22:37:10

标签: python static-libraries

我正在尝试使用IP2Location库,但现在没有运气

这就是我应该做的就是让它发挥作用:

Download IP2Location C library at here.
Decompress C library.
tar ip2location-c-x.x.x.tar.gz
Download and decompress Python library.
tar ip2location-python-x.x.x.tar.gz
Get into working directory.
cd ip2location-python-x.x.x
Edit setup.py to point library_dirs and include_dirs ponting to IP2Location C library folder.
Start compilation.
python setup.py build && python setup.py install

这就是我的setup.py的样子: 来自distutils.core导入设置,扩展

module1 = Extension('IP2Location',
                    sources = ['IP2Location.c'],
                    libraries = ['IP2Location'],
            library_dirs = ['../ip2location-c-4.0.2/libIP2Location/.libs'],
            include_dirs = ['../ip2location-c-4.0.2/libIP2Location'])

setup (name = 'Python-IP2Location',
       version = '4.0.0',
       description = 'Python wrapper for IP2Location C API',
       ext_modules = [module1]

那是我的文件夹:

john-the-ripper@johntheripper-PORTEGE-Z835:~/PR$ ls -l
total 44
drwxrwxrwx 5 root            root             4096 Jan 26  2011 ip2location-c-4.0.2
drwxrwxrwx 4 root            root             4096 Dec 10 17:30 ip2location-python-4.0.0

这就是错误:

john-the-ripper@johntheripper-PORTEGE-Z835:~/PR/ip2location-python-4.0.0$ python setup.py build && python setup.py install
running build
running build_ext
building 'IP2Location' extension
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I../ip2location-c-4.0.2/libIP2Location -I/usr/include/python2.7 -c IP2Location.c -o build/temp.linux-i686-2.7/IP2Location.o
IP2Location.c:18:20: fatal error: Python.h: No such file or directory
compilation terminated.
error: command 'gcc' failed with exit status 1
john-the-ripper@johntheripper-PORTEGE-Z835:~/PR/ip2location-python-4.0.0$ 

1 个答案:

答案 0 :(得分:0)

你需要python.h ...你可以从python-devel包中获取它..