अजगर पैकेज के लिए निर्भरता के रूप में GDAL जोड़ना?


9

मैं एक पायथन स्क्रिप्ट को पैकेज करने की कोशिश कर रहा हूं जो PyPI के लिए GDAL का उपयोग करता है। मैंने अपने संदर्भ में एक प्रत्यक्ष संदर्भ शामिल करके शुरुआत की 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, क्योंकि यह वर्चुअन फ्रेंडली संस्करण के रूप में चिह्नित है:

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 को एक निर्भरता के रूप में स्थापित करने का सही तरीका क्या है?

अद्यतन : निर्भरता को सही ढंग से घोषित किया गया लगता है, समस्या की संभावना है, GDAL पैकेज के साथ ही। StackOverflow पर अधिक जानकारी ।


5
मेरा तर्क है कि गदल के बारे में एक शुद्ध अजगर प्रश्न यहाँ मान्य है।
जॉन पॉवेल

2
दिलचस्प है कि कैसे समीक्षकों को यह निश्चित रूप से एक कड़ाई से पाइथन सवाल लगता है लेकिन अब तक यह इंगित करने से रोक दिया गया है कि यह क्या है।
लुइस डी सोसा

6
यह एक अजगर और GDAL प्रश्न है और मैं विषय पर लगता है
इयान Turton

3
यह क्रॉस-पोस्ट किया गया था: stackoverflow.com/questions/36471683/…
ईविल जीनियस

1
@EvilGenius मैं आम तौर पर क्रॉस-पोस्टिंग को कम करता हूं लेकिन इस उदाहरण में मैं इसे निंदा कर सकता हूं क्योंकि यहां प्रश्न पर मूल करीबी मतदान ने संकेत दिया था कि आगे बढ़ने का रास्ता।
PolyGeo

जवाबों:


3

GDAL python बाइंडिंग को स्थापित करने से पहले, आपको अपने सिस्टम पर GDAL स्थापित करना होगा।

apt-get install -y libgdal-dev

उसके बाद, चर सेट करें और बाध्यकारी स्थापित करें

CPLUS_INCLUDE_PATH=/usr/include/gdal \
C_INCLUDE_PATH=/usr/include/gdal \
pip install GDAL

सिस्टम GDAL का संस्करण संस्करण बाइंडिंग से अधिक होना चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.