我正在尝试为PyPI打包一个使用GDAL的Python脚本。我首先在我的setup.py
中包含了一个直接引用:
install_requires=['GDAL==1.11.2'],
这种方式导致包在我的测试虚拟环境中安装失败:
extensions/gdal_wrap.cpp:2855:22: fatal error: cpl_port.h: No such file or directory
#include "cpl_port.h"
^
compilation terminated.
error: Setup script exited with error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
我尝试使用引用
pygdal
的方式进行安装,因为它被标记为virtualenv友好版本:
install_requires=['pygdal'],
这样安装就不会出现错误(但是通常会有大量编译警告)。然而,当我调用脚本时,我会收到以下错误信息:Traceback (most recent call last):
File "/home/desouslu/.virtualenvs/test_p3/bin/hasc2gml", line 5, in <module>
from pkg_resources import load_entry_point
File "/home/desouslu/.virtualenvs/test_p3/lib/python3.4/site-packages/pkg_resources.py", line 2716, in <module>
working_set.require(__requires__)
File "/home/desouslu/.virtualenvs/test_p3/lib/python3.4/site-packages/pkg_resources.py", line 685, in require
needed = self.resolve(parse_requirements(requirements))
File "/home/desouslu/.virtualenvs/test_p3/lib/python3.4/site-packages/pkg_resources.py", line 588, in resolve
raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: pygdal
如何正确设置GDAL作为依赖项?