Tôi đang cố gắng gói một tập lệnh Python sử dụng GDAL cho PyPI. Tôi bắt đầu bằng cách bao gồm một tài liệu tham khảo trực tiếp trong setup.py
:
install_requires=['GDAL==1.11.2'],
Bằng cách này, gói không cài đặt được trong môi trường ảo thử nghiệm của tôi:
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
Sau đó tôi đã thử nó với một tham chiếu đến pygdal
, vì nó được đánh dấu là phiên bản thân thiện với virtualenv:
install_requires=['pygdal'],
Bằng cách này, quá trình cài đặt kết thúc mà không có lỗi (nhưng với tải cảnh báo biên dịch thông thường). Tuy nhiên, khi tôi gọi tập lệnh, tôi nhận được lỗi này:
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
Cách chính xác để thiết lập GDAL là một phụ thuộc là gì?
Cập nhật : Sự phụ thuộc dường như được khai báo chính xác, vấn đề có thể xảy ra ngược dòng, với chính gói GDAL. Thông tin chi tiết tại StackOverflow .