Python GDAL แพ็คเกจไฟล์ส่วนหัวหายไปเมื่อติดตั้งผ่าน pip


68

ฉันถามคำถามนี้เกี่ยวกับ Stack Overflowก่อนที่ฉันจะรู้ว่ามีเว็บไซต์นี้อยู่ เนื่องจากไซต์นี้เหมาะสมกว่าฉันจะถามที่นี่ด้วย

ฉันกำลังพยายามติดตั้ง gdal จาก pip pip install gdalในสภาพแวดล้อมเสมือนจริง (Ubuntu) มันล้มเหลวเพราะหาไม่เจอcpl_port.h

extensions/gdal_wrap.cpp:2853:22: fatal error: cpl_port.h: No such file or directory
compilation terminated

อย่างไรก็ตาม GDAL /usr/include/gdal/cpl_port.hมีการติดตั้งอย่างถูกต้องและไฟล์ส่วนหัวจะอยู่ที่ มีตัวแปรสภาพแวดล้อมสำหรับ GDAL ที่ต้องตั้งค่าเพื่อให้ pip ค้นหาไฟล์ส่วนหัวหรือไม่


ฉันมีปัญหาที่คล้ายกันใน windows ติดตั้ง gdal ผ่าน pip ใน env เสมือน ! [ป้อนคำอธิบายภาพที่นี่ ] ( i.stack.imgur.com/EVLWP.jpg )
Hayat Khan

คำตอบ:


94

คำตอบของ selimnairb ใกล้เคียง แต่คุณไม่มีส่วนหัวเว้นแต่ว่าคุณได้ติดตั้ง libgdal-dev:

sudo apt-get install libgdal-dev

กับที่ทำ

export CPLUS_INCLUDE_PATH=/usr/include/gdal

export C_INCLUDE_PATH=/usr/include/gdal

แล้ว

pip install GDAL

การรวบรวมวิ่งไปจนเสร็จและฉันมี GDAL ใน env เสมือนของฉัน วุ้ย

(แก้ไข 2018) หมายเหตุ: เพื่อให้แน่ใจว่าคุณติดตั้งรุ่นที่ถูกต้องและหลีกเลี่ยงปัญหาใด ๆ gdal-config --versionดึงรุ่นที่มี แล้ว:

pip install GDAL==version

ดูเหมือนว่าจะเป็นทางออกเดียวที่ทำงานได้
bozdoz

1
พยายามทำสิ่งนี้ในระบบอื่นและฉันคิดว่าการรวมกันของคำตอบ @nickves นี้บวกกับสิ่งที่มันทำ
bozdoz

สิ่งนี้ใช้ได้สำหรับฉัน
jaranda

1
ดีมาก. ในกรณีที่ติดตั้ง GDAL รุ่นในระบบและแพคเกจหลามแตกต่างก็ล้มเหลว วิธีการแก้ไขคือการค้นหารุ่นของ GDAL ในระบบและสั่งการ pip เพื่อติดตั้งแพ็คเกจแพ็คเกจหลาม ในกรณีของฉัน (Ubuntu 14.04) ทั้งสองเป็น 10.0 ดังนั้นจึงช่วย$ pip install GDAL==10.0
ม.ค. Vlcinsky

4
ผมสามารถยืนยันได้ว่างานนี้บน Ubuntu 16.04 pip install GDAL==1.10.0กับ
beruic

34

ไม่พบไฟล์ส่วนหัวเพราะเหตุผลบางประการ บางทีคุณคุณกำลังทำงานอยู่ในสภาพแวดล้อมเสมือนจริงหรือพวกเขาไม่ได้อยู่ที่พวกเขาควรจะด้วยเหตุผลบางอย่าง ในกรณีใด ๆ คุณสามารถระบุรวม dirs เมื่อติดตั้ง gdal ผ่าน pip

ดาวน์โหลดครั้งแรกของ python gdal:

pip install --no-install GDAL

ใน pip รุ่นที่ใหม่กว่า (> = 9.0.0) pip install --no-installไม่มีอยู่:

pip download GDAL

จากนั้นระบุว่าส่วนหัวอยู่ที่ไหน:

python setup.py build_ext --include-dirs=/usr/include/gdal/

จากนั้นติดตั้ง:

pip install --no-download GDAL

ใน pip รุ่นที่ใหม่กว่า (> = 9.0.0) pip install --no-downloadไม่มีอยู่:

sudo python setup.py install --include-dirs=/usr/include/gdal

นี่เป็นอีกวิธีในการติดตั้ง gdal python:

$ sudo apt-add-repository ppa:ubuntugis/ubuntugis-unstable
$ sudo apt-get update
$ sudo apt-get install python-gdal

หลังจาก IDLE ที่เปิดอยู่:

from osgeo import gdal

และคุณจะไปดี!


3
สวัสดีขอบคุณสำหรับคำตอบของคุณ แต่ฉันต้องการวิธีการติดตั้งผ่านทาง pip เพราะฉันจะสร้างสภาพแวดล้อมที่แยกโดยใช้ virtualenv ในระหว่างกระบวนการ CI
kevin

1
เอาต์พุตเมื่อคุณรัน 'gdal-config --version' และ 'gdal-config --libs' คืออะไร?
nickves

GDAL v1.9.1 gdal-config --libs -> -L/usr/lib -lgdal
วิน

2
@nickves ฉันกำลังพยายามติดตั้ง GDAL โดยใช้ virtualenvwrapper ใน Ubuntu และเมื่อฉันลองบรรทัดแรกของคุณ: pip install --no-install GDALฉันได้รับข้อผิดพลาด: มี__main__.gdal_config_error: [Errno 2] No such file or directoryความคิดอะไรบ้าง?
theJollySin

3
ฉันเพิ่งมีช่วงเวลาที่ยอดเยี่ยมในการติดตั้ง GDAL บน OSX ปัจจุบันการผูก Python ล่าสุดสำหรับ GDAL ขึ้นอยู่กับ 2.1 แต่ GDAL ที่พร้อมใช้งานล่าสุดใน homebrew คือ 1.11.3 และ 1.11.4 สำหรับ GDAL Complete ฉันติดตั้งผ่าน homebrew brew install gdalและใช้แพ็คเกจแพคเกจ GDAL Python รุ่นเก่า:pip install --global-option=build_ext --global-option="-L/usr/local/include/gdal/" 'gdal==1.9.1'
TestSubject

17

หลังจากทำตามส่วนย่อยของคำแนะนำนี้นี่คือวิธีที่ฉันได้รับ Python GDAL 1.11.0 (โซลูชันควรเป็นเวอร์ชั่นอิสระดูด้านล่าง) ติดตั้งเพื่อทำงานบน Ubuntu 14.04 ด้วย pip:

ติดตั้งการพึ่งพา:

sudo apt-get install libgdal-dev libgdal1h

การติดตั้ง pip โดยผ่านไปยังพา ธ include (คำนำหน้าด้วยsudoสำหรับการติดตั้งทั่วทั้งระบบ) และสั่งให้ pip เพื่อติดตั้งเวอร์ชันที่ตรงกับเวอร์ชัน GDAL ที่ติดตั้งระบบ:

pip install --global-option=build_ext --global-option="-I/usr/include/gdal" GDAL==\`gdal-config --version\`

คำตอบที่ได้รับคะแนนสูงกว่าจาก selimnairb และ Paul Whipp ไม่ได้ผลสำหรับฉันใน Ubuntu 15.10 และอันนี้ทำ
rhunwicks

1
บรรทัดที่สองทำงานให้ฉันหลังจากที่เพิ่มที่เก็บที่ไม่เสถียรจาก @nickves answer ขอบคุณทุกคน!
Patrick Williams

1
ขอบคุณมันจบลงด้วยการทำงานสำหรับฉัน แม้ว่าฉันจะต้องปรับเปลี่ยนเล็กน้อยในขณะที่ฉันพยายามที่จะยึดติดกับการติดตั้ง cartodb อย่างเคร่งครัดที่สุด แต่ฉันก็ใช้มันเป็นคำสั่งติดตั้งการทำงานขั้นสุดท้ายของฉัน: sudo pip install --no-use-wheel -r python_requirements.txt --global-option=build_ext --global-option="-I/usr/include/gdal" python_requirements.txt ระบุรุ่นที่เก่ากว่าของ gdal ฉันสงสัยว่าจะเป็นเรื่องจริง แต่ชุดการติดตั้ง pip ทั้งหมดเสร็จสมบูรณ์แล้ว U 12.04x64
vaxhax

12

การติดตั้งแพ็กเกจ Python gdalใน virualenv บน Linux

GDALมอบชุดเครื่องมือที่ดีสำหรับการดำเนินงานที่เกี่ยวข้องกับ GEO อย่างไรก็ตามการติดตั้งลงบน virtualenv บน Linux นั้นไม่ใช่เรื่องเล็กน้อย

สูตรนี้อธิบายถึงวิธีการทำ

บันทึก

ที่นี่ฉันใช้ตัวพิมพ์เล็กgdalสำหรับแพ็คเกจ Python และตัวพิมพ์ใหญ่สำหรับGDALไลบรารี่กว้างของระบบทั่วไป

ความต้องการ

  • อนุญาตให้ใช้ไลบรารี osgeo (ติดตั้งผ่านgdalแพ็คเกจ Python) ลงใน virtualenv
  • อนุญาตให้ติดตั้งบน Linux Ubuntu

วิธีการติดตั้ง

การติดตั้งมีหลายวิธี ต้องมีการรวบรวมและใช้เวลาไม่กี่นาที

อีกอย่างคือการใช้แพคเกจล้อของpygdalแพคเกจและรวดเร็วมาก อย่างไรก็ตามในการสร้างแพ็คเกจล้อจำเป็นต้องสร้างมันครั้งเดียวและการสร้างรวมถึงขั้นตอนการรวบรวมอยู่แล้ว

เกี่ยวกับGDALแพ็คเกจและเวอร์ชัน

GDAL เป็นไลบรารีพื้นฐาน C (++) สำหรับการคำนวณที่เกี่ยวข้องกับ GEO

GDAL ยูทิลิตี้สามารถติดตั้งได้ทั้งระบบสิ่งที่ทำให้ shared library พร้อมใช้งาน แต่ไม่ได้ติดตั้งแพ็คเกจ Python

GDAL มาในรุ่นที่แตกต่างกันและการกระจาย Linux แต่ละครั้งอาจโดยเริ่มต้นติดตั้งรุ่นที่แตกต่างกัน

แพคเกจ Python gdalต้องการการรวบรวมและไม่น่าสนใจสำหรับการติดตั้งบนระบบที่ใช้ Linux เนื่องจากคาดว่าจะมีการตั้งค่าตัวแปรสภาพแวดล้อมเล็กน้อย ทำให้การติดตั้งเป็น virtualenv ยากขึ้น

แต่ละgdalเวอร์ชันอาจสันนิษฐานว่าเป็นเวอร์ชั่นที่แตกต่างกันGDALและจะล้มเหลวในการติดตั้งหากเวอร์ชั่นที่คาดหวังไม่ปรากฎ

แพคเกจหลามpygdalเป็นทางเลือกgdalซึ่งจะติดตั้งสิ่งเดียวกันเป็นgdalแต่ทำในลักษณะที่เป็นมิตร virtualenv มากขึ้น

pygdalมาในเวอร์ชั่นที่สะท้อนให้เห็นถึงที่เกี่ยวข้องGDALรุ่น ดังนั้นการมีGDAL เวอร์ชั่น 1.10.1 ในระบบคุณจะต้องติดตั้งpygdalเวอร์ชัน 1.10.1

แพคเกจหลามgdal(เช่นเดียวกับpygdal) ใช้แพคเกจหลามรากชื่อ osgeoและได้มีการกำหนดของ submodules osgeo.gdalหนึ่งเป็น

หากจำเป็นGDALสามารถติดตั้งและใช้งานนอกเหนือจากรุ่นเริ่มต้น นี่อยู่นอกขอบเขตของคำอธิบายนี้

แพคเกจล้อสามารถคอมไพล์ข้ามซึ่งยังอยู่นอกขอบเขต

การติดตั้งGDALเข้าสู่ระบบ

เนื่องจากpygdalต้องมีGDALไลบรารีที่ใช้ร่วมกันเราต้องติดตั้งก่อน

สมมติว่าGDALยังไม่ได้ติดตั้งการโทรgdal-configจะบ่นและให้คำแนะนำวิธีการติดตาม:

$ gdal-config --version
The program 'gdal-config' is currently not installed. You can install it by typing:
sudo apt-get install libgdal-dev

ทำตามคำแนะนำและติดตั้ง:

$ sudo apt-get install libgdal-dev

GDALกระจายแต่ละคนอาจจะใช้รุ่นที่แตกต่างกันของ เพื่อหาสิ่งที่เราใช้:

$ gdal-config --version
1.10.1

ตอนนี้คุณรู้แล้วว่าGDALมีการติดตั้งและรุ่นคือ 1.10.1 (รุ่นอาจแตกต่างกันไป)

ติดตั้งpygdalจากแพ็คเกจต้นทาง (ต้องมีการรวบรวม)

ปัจจุบันpygdalมีให้เฉพาะในแพ็คเกจ tar.gz ซึ่งมีแหล่งที่มาของแพ็คเกจและต้องมีการรวบรวม

สมมติว่ารุ่นGDALคือ1.10.1และ virtualenv ของเราเปิดใช้งานแล้ว:

$ pip install pygdal==1.10.1

อาจใช้เวลาสักครู่จึงจะเสร็จสมบูรณ์หรือไม่ก็ต้องมีจำนวนมากซึ่งอาจต้องมีการรวบรวม รอสักครู่.

ตรวจสอบว่าติดตั้งแล้ว:

$ pip freeze|grep pygdal
pygdal==1.10.1.0

จากนี้ไปคุณสามารถใช้แพคเกจ osgeo ในโค้ด Python ตามที่คุณต้องการในลักษณะเดียวกับที่คุณติดตั้งgdalแพคเกจ Python

การสร้างชุดล้อสำหรับ pygdal

หมายเหตุแพคเกจล้อนั้นจะต้องสร้างขึ้นสำหรับสถาปัตยกรรมเดียวกันนั่นคือต้องตรงกัน:

  • สถาปัตยกรรมซีพียู
  • ระบบปฏิบัติการ (Linux / Windows)

ในกรณีของเรามันจะต้องตรงกับรุ่นของการGDALติดตั้ง

ขั้นตอนต่อไปนี้สามารถทำได้ใน virtualenv หรือไม่ตามที่คุณต้องการ

ขั้นแรกตรวจสอบให้แน่ใจว่ามีการติดตั้งชุดล้อ:

$ pip install wheel

สมมติว่าคุณGDALติดตั้งแล้วและมีเวอร์ชั่น 1.10.1:

$ pip wheel pygdal==1.10.1.0

และรอจนกว่าจะเสร็จสมบูรณ์

หลังจากนี้คุณจะได้พบกับ wheelhouse ไดเรกทอรีย่อยและมันจะมีแพคเกจที่มีนามสกุล `whl ':

$ ls wheelhouse
numpy-1.9.1-cp27-none-linux_x86_64.whl
pygdal-1.10.1.0-cp27-none-linux_x86_64.whl

ติดตั้งpygdalจากแพ็คเกจล้อ

การติดตั้งจากแพ็คเกจที่จัดรูปแบบล้อนั้นเร็วกว่ามาก (หนึ่งวินาทีเมื่อเทียบกับนาที) เนื่องจากไม่ต้องการการรวบรวม

โปรดทราบว่าไดเรกทอรีที่มีแพ็คเกจล้อสามารถมีชื่อใด ๆ เราจะใช้เพียงชื่อ wheelhouse

เปิดใช้งาน virtualenv ก่อน

ให้แน่ใจว่าคุณมีในไดเรกทอรี wheelhouse ทั้งแพคเกจล้อที่จำเป็น (สำหรับpygdalและnumpy)

ตรวจสอบให้แน่ใจ, การติดตั้งและรุ่นตรงกับรุ่นของGDALpygdal

ติดตั้งpygdalจากแพคเกจล้อ:

$ pip install pygdal==1.10.1.0 -f wheelhouse

-f wheelhouse จะชี้ไปที่ไดเรกทอรีที่มีไฟล์ whl

ไม่จำเป็นต้องติดตั้งnumpyจะได้รับการติดตั้งโดยอัตโนมัติ


Anwser นี้สร้างจากคำตอบที่ยอดเยี่ยมอื่น ๆ ที่นี่พยายามที่จะให้คำแนะนำที่สมบูรณ์สำหรับรายละเอียดที่ฉันติดอยู่และเพิ่มขั้นตอนสำหรับการใช้รูปแบบแพคเกจล้อเพื่อเร่งความเร็วการติดตั้งซ้ำใน virtualenv
Jan Vlcinsky

pygdalสำหรับผู้ชนะ!! pypi : "Virtualenv และ setuptools เวอร์ชันที่เป็นมิตรของการรวมงูหลามของ GDAL มาตรฐาน" <3
gisdude

9

ใช่การทำสิ่งต่อไปนี้ก่อนใช้งาน PIP จะทำงานได้:

ส่งออก CPLUS_INCLUDE_PATH = / usr / include / gdal

ส่งออก C_INCLUDE_PATH = / usr / include / gdal


6

ปัญหาที่เกิดขึ้นกับการติดตั้ง pip gdal ก็คือมันจะได้รับการเชื่อมเท่านั้นไม่ใช่ทั้งไลบรารีดังนั้นจึงอาจมีความยุ่งยาก วิธีหนึ่งในการแก้ไขคือใช้คำสั่ง pip เพื่อดาวน์โหลด - แต่ไม่ได้ติดตั้ง จากนั้นคุณปรับแต่งที่ตั้งส่วนหัวจากไฟล์ปรับแต่ง จากนั้นคุณติดตั้ง pip Meh

ฉันมีปัญหาเดียวกัน แต่รู้ว่าการเขียนสคริปต์ผ้าเพื่อคอมไพล์ gdal อีกครั้งและสร้างการผูกไพ ธ อนนั้นใช้เวลาน้อยลง คุณยังได้รับประโยชน์จาก filegdb ด้วย ไปข้างหน้าและใช้ส่วนสำคัญที่ฉันเขียนหรือบิดไปยังเนื้อหาหัวใจของคุณ


3

ในขณะที่ในภายหลังนี้ให้เส้นทางรวมโดยไม่ต้องประกันตัวออกจากการติดตั้ง pip: หนึ่งสามารถตั้งค่าเส้นทางรวมโดยใช้ตัวแปรสภาพแวดล้อม

สมมติว่าส่วนหัวอยู่ใน / usr / include / gdal ออก

export CPLUS_INCLUDE_PATH=/usr/include/gdal

ก่อนที่จะเรียกใช้ pip


เมื่อใช้สิ่งนี้ฉันจะได้รับ "extensions / gdalconst_wrap.c: 2732: 18: ข้อผิดพลาดร้ายแรง: gdal.h: ไม่มีไฟล์หรือไดเรกทอรี" แม้ว่า gdal.h จะมีอยู่ใน/usr/include/gdal
anand.trex

1
ใช้ C_INCLUDE_PATH แทน / เพิ่มเติม help = หรือไม่
Crischan

3

หลังจากมองไปทางซ้ายและขวาเพื่อหาวิธีแก้ปัญหานี่คือสิ่งที่เหมาะกับฉันบน Ubuntu 14.04 แม้จากภายใน virtualenv โดยไม่สามารถเข้าถึงแพ็คเกจระบบได้:

  • ติดตั้งการพึ่งพา:

    sudo apt-get install libgdal-dev libgdal1h libgdal1-dev
  • ตั้งค่าสถานะคอมไพเลอร์:

    export CFLAGS=$(gdal-config --cflags)
  • ติดตั้งเวอร์ชันที่สอดคล้องกับไลบรารีระบบ (ในขณะที่เขียน Ubuntu Trusty ใช้ส่วนหัว 1.10):

    pip install GDAL==1.10.0

ยังทำงานให้ฉันใน Ubuntu 16.04
ลุค W

2

ตอนนี้คุณสามารถใช้ virtualenv และ setuptools รุ่นที่เป็นมิตรของมาตรฐานการผูก GDAL หลามpygdal


2

ฉันมีปัญหาคล้ายกันใน Mac นี่คือวิธีที่ฉันแก้ไขมัน:

ประการแรกฉันตั้งค่าสภาพแวดล้อม Python 2.7 เสมือนโดยใช้ virtualenv การแจกจ่าย Python ถูกติดตั้งในไดเรกทอรีชื่อ 'env'

ฉันใช้ fink เพื่อติดตั้ง gdal

fink selfupdate
fink update-all
fink install gdal

ฉันยังติดตั้ง gdal-dev ด้วย แต่สิ่งนี้อาจไม่จำเป็นเพราะมันอาจถูกติดตั้งด้วย gdal แล้ว

ฉันตรวจสอบรุ่นที่ติดตั้งโดยใช้:

gdal-config --version

ในการติดตั้งของฉันมันผลิตผลลัพธ์ 1.11.1

การติดตั้ง fink ของ gdal ติดตั้งไฟล์ส่วนหัว cpl_port.h ใน / sw / include / gdal1 ตรวจสอบการติดตั้งของคุณเอง จากนั้นฉันก็เข้าไป:

export CPLUS_INCLUDE_PATH=/sw/include/gdal1
export C_INCLUDE_PATH=/sw/include/gdal1
env/bin/pip install pygdal==1.11.1

ดูเหมือนจะทำงานได้สำหรับฉัน แต่ฉันยังไม่ได้ทดสอบการติดตั้ง


2

ใน Fedora 24 ซึ่งมี GDAL 2.0.2 ในที่เก็บของมันฉันต้องติดตั้งแพ็กเกจ Python ดังนี้:

pip install \
  --global-option=build_ext \
  --global-option="-I/usr/include/gdal/" \
  GDAL==2.0.1

2

ฉันได้รับข้อผิดพลาดที่คล้ายกันในขณะที่พยายามติดตั้ง python GDAL bindings บน mac (OS 10.10.5) ฉันติดตั้งซอฟต์แวร์ GDAL พื้นฐานจากhttp://www.kyngchaos.com/software/frameworksโดยใช้การดาวน์โหลด "เสร็จสมบูรณ์" ฉันต้องตั้งค่าตัวแปรสภาพแวดล้อมสามอย่าง

ส่งออก C_INCLUDE_PATH = / ไลบรารี / กรอบงาน / GDAL.framework / ส่วนหัวส่งออก CPLUS_INCLUDE_PATH = / ห้องสมุด / กรอบงาน / GDAL.framework / ส่วนหัวส่งออก LIBRARY_PATH = / ห้องสมุด / กรอบงาน / GDAL.framework / รุ่น / ปัจจุบัน / unix / lib

ชิ้นสุดท้ายคือการเพิ่ม /Library/Frameworks/GDAL.framework/Programs ไปที่ PATH ของฉัน

echo 'export PATH = / Library / Frameworks / GDAL.framework / โปรแกรม: $ PATH' >> ~ / .bash_profile

หลังจากนั้น pip ก็สามารถติดตั้ง GDAL สำหรับ python ได้ หวังว่านี่จะช่วยได้


1

ฉันมีปัญหาด้วยgdal 1.10.1เช่นกันและเพิ่งทำสิ่งต่อไปนี้pip install --global-option=build_ext --global-option="-I/usr/include/gdal" gdal==1.10.0
ryanjdillon

1

ในการตอบคำถามเฉพาะของ virtualenv:

pip3 search gdal
GDAL                      - GDAL: Geospatial Data Abstraction Library
pygdal                    - Virtualenv and setuptools friendly version of
                            standard GDAL python bindings

ระวังที่pygdalอาจต้องใช้ GDAL รุ่นอื่นเทียบกับGDALแพคเกจของการผูกหลามที่ต้องการ


ด้านล่างคือสิ่งที่ฉันเคยนำมาใช้กับ Fedora รุ่นล่าสุด (20 และ 23)

CPPFLAGS=-I/usr/include/gdal pip install gdal

1

การติดตั้งผ่าน Pip ด้วยคำสั่งเดียว

สมมติว่าแพคเกจการพัฒนา GDAL ได้รับการติดตั้งและรุ่นไฟล์ส่วนหัวนั้นถูกต้องคำสั่งเดียวที่จำเป็นในการติดตั้ง GDAL จาก PyPI repos มีดังนี้:

pip install --global-option=build_ext --global-option="-I/usr/include/gdal" gdal

สิ่งนี้ถือว่าตำแหน่งของไฟล์ส่วนหัว/usr/include/gdalอย่างชัดเจน

ติดตั้ง GDAL ที่ทันสมัย

ในการติดตั้ง GDAL ด้วยคำสั่ง pip ด้านบนเวอร์ชันของไฟล์ส่วนหัวจะต้องคล้ายกับเวอร์ชันที่ pip จะทำบิลด์ GDAL มีการปรับปรุงการอ้างอิงไบนารีที่: https://trac.osgeo.org/gdal/wiki/DownloadingGdalBinaries

วิธีการติดตั้งบน OpenSUSE

ตามลิงค์ด้านบนมี URL ที่ฝังอยู่ด้านล่างสู่ชุด GIS แพ็คเกจล่าสุดสำหรับOpenSUSE 42.1 http://download.opensuse.org/repositories/Application:/Geo/openSUSE_Leap_42.1/Application: Geo.repo

zypper ar -f <URL>

แทนที่ด้วยแพ็คเกจที่เหมาะสม และหากไม่ได้ใช้งานzypperจะมีข้อมูลเพิ่มเติมที่https://trac.osgeo.org/gdal/wiki/DownloadingGdalBinaries


1

ฉันมีปัญหาเดียวกันใน Windows 10 หลังจากการทดลองบางอย่างฉันมาพร้อมกับโซลูชันนี้

  1. ดาวน์โหลดและติดตั้ง Python 3.6 (หากไม่ได้ติดตั้ง) หลังจากการติดตั้งจะเปลี่ยนแปลงตัวแปรสภาพแวดล้อม PYTHONPATH=c:\python36 PATH=C:\python36\Scripts\;C:\python36\;%PATH%
  2. ดาวน์โหลด * .whl สำหรับเวอร์ชั่นไพ ธ อนที่ถูกต้องจากhttps://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal
  3. ดาวน์โหลดและติดตั้งhttp://landinghub.visualstudio.com/visual-cpp-build-tools
  4. pip install *.whl (* .whl จากขั้นตอนที่ 2)

ขอบคุณฉันคิดว่าหลามติดตั้งสภาพแวดล้อมโดยอัตโนมัติ แต่หลังจากนั้นฉันก็ลบและสร้างสภาพแวดล้อมขึ้นใหม่ตามที่คุณแนะนำให้ทุกอย่างทำงานได้อย่างมีเสน่ห์
Florjan

1

หากคุณกำลังใช้ Docker เราจะเปิดคอนเทนเนอร์ของเราซึ่งจะทำให้การใช้ GDAL และ Python 3 ง่ายขึ้นคอนเทนเนอร์จะรวบรวมขั้นตอนที่อธิบายไว้ข้างต้นเพื่อให้คุณสามารถใช้ GDAL กับแอปของคุณได้อย่างรวดเร็ว

thinkwhere / GDAL หลาม


0

หากคุณใช้ดิสทริบิวชั่นเดเบียนห้องสมุดหลาม GDAL นั้นมีให้ใช้งานผ่านตัวจัดการแพคเกจของคุณและสามารถติดตั้งได้ง่ายๆด้วย

sudo apt install python-gdal หรือ sudo apt install python3-gdal


0

บน Ubuntu 16.04 พร้อม conda ในคอนเทนเนอร์ docker (jupyter stack)

apt-get update
apt-get install libgdal1-dev -y
gdal-config --version
export CFLAGS=$(gdal-config --cflags)
pip install GDAL==1.11.2

0

ในอูบุนตูการแก้ปัญหาที่ง่ายกว่าในการติดตั้ง gdal ล่าสุดสำหรับ python3: ติดตั้งไฟล์ไลบรารีผ่านทางlibgdal-devและเครื่องมือห่อหุ้มงูหลามผ่านpython-gdal

sudo apt-get install libgdal-dev
sudo apt-get install python3-gdal

สำหรับ python2:

sudo apt-get install python-gdal

0

คุณอาจประสบปัญหาเมื่อใช้หน่วยความจำ

เมื่อเรียกใช้pip install gdal==2.2.3gcc จะเริ่มต้นเพื่อรวบรวมบางสิ่งบางอย่างและจะเพิ่มการใช้หน่วยความจำ

หากคุณมีหน่วยความจำไม่เพียงพอคอมไพเลอร์จะล้มเหลวโดยมีข้อความเช่น

'x86_64-linux-gnu-gcc' ล้มเหลวด้วยสถานะออก 4

ในการแก้ไขคุณต้องเพิ่ม ram เพิ่มเติมหรือปล่อยให้ฟรี


0

วิธีนี้ใช้ได้ผลสำหรับฉัน:

sudo apt-get install libgdal-dev
export CPLUS_INCLUDE_PATH=/usr/include/gdal
export C_INCLUDE_PATH=/usr/include/gdal
pip3 install gdal==$(gdal-config --version)

หรือเป็นส่วนหนึ่งของ Dockerfile:

RUN apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get install -y \
                libgdal-dev \
                python3-pip
ARG CPLUS_INCLUDE_PATH=/usr/include/gdal
ARG C_INCLUDE_PATH=/usr/include/gdal
RUN pip3 install gdal==$(gdal-config --version)

0

หากคุณใช้Travis CIและต้องการ GDAL รุ่นล่าสุดสำหรับ Python นี่เป็นตัวอย่างของ.travis.ymlไฟล์ที่จะมีลักษณะดังนี้:

language: python

env:
  global:
    - CPLUS_INCLUDE_PATH=/usr/include/gdal
    - C_INCLUDE_PATH=/usr/include/gdal

before_install:
  - sudo add-apt-repository -y ppa:ubuntugis/ppa
  - sudo apt-get -qq update
  - sudo apt-get -qq install libgdal-dev gdal-bin

install:
  - pip install gdal==`gdal-config --version`
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.