ติดตั้ง QGIS3 บน Mac?


30

ตัวติดตั้ง Kyngchaos ไม่พบ python3 ฉันติดตั้ง python3 โดยใช้ HomeBrew และไม่ได้อยู่ที่/usr/local/Cellar/python/3.6.4_4/Frameworks/Python.framework/Versions/3.6/bin/python3.6

ฉันจะบอกตัวติดตั้ง QGIS ให้รู้จักว่าติดตั้ง python3 ได้อย่างไร

ก่อนหน้านี้ฉันเคยติดตั้ง GDAL โดยใช้ HomeBrew ดังนั้นลองติดตั้งใหม่ (หรือติดตั้งรุ่นอื่นทุกที่ที่มันอาจจะจบลง) คิดว่ามันอาจช่วยสถานการณ์ได้ แต่ตัวติดตั้ง QGIS3 ยังไม่พบงูหลาม 3

ข้อผิดพลาดในการติดตั้งเป็นป๊อปอัพที่เกิดขึ้นทันทีที่ตัวติดตั้งเปิดขึ้นและแจ้งว่า "python3 QGIS ต้องการ Python 3.6"

สำหรับผู้ใช้ที่ไม่ใช่ Mac ส่วนใหญ่ดูเหมือนจะใช้ Kyngchaos ในการจัดหาโปรแกรมติดตั้งสำหรับ QGIS และเขาเพิ่งเปิดตัวติดตั้งสำหรับ v3

อัปเดต: ตอบคำถามของฉันเองด้านล่าง อย่าใช้ HomeBrew ยกเว้นว่าคุณรู้จักพอที่จะชี้ให้ตัวติดตั้ง QGIS / QGIS เป็นรุ่นที่ถูกต้อง (ซึ่งแน่นอนว่าฉันไม่ได้ทำ) แต่ให้ใช้ตัวติดตั้ง python3 ที่เชื่อมโยงกับ ReadMe


ตัวติดตั้ง Kyngchaos อยู่ที่ไหน ฉันหาพวกมันไม่พบที่ไหน
Alex Leith

เนื่องจากเขาไม่ได้อัปเดตลิงก์ฉันจึงเดาว่ามันจะเป็นkyngchaos.com/files/software/qgis/QGIS-3.0.0-1.dmg
Greg

มันยังไม่ได้รับการโปรโมตบนเว็บเพจของเขาใช่ไหม
Alex Leith

2
"QGIS 2.18.15-4" ซ้ำสองครั้งที่kyngchaos.com/software/qgisและสิ่งแรกควรเป็น "QGIS-3.0.0-1" ฉันคิดว่ามันเป็นข้อผิดพลาดในการคัดลอกและวางในคำอื่น ๆ ที่เขาคัดลอกลิงค์เก่า ฯลฯ และลืมที่จะปรับปรุง ฉันจะเดาได้อย่างไร - ไม่ใช่เพราะฉันเคยทำมาแล้ว!
เกร็ก

4
วันนี้ (12 มีนาคม 2562) ลิงค์ที่kyngchaos.com/software/qgisได้รับการอัพเดต
เกร็ก

คำตอบ:


35

อัพเดทใหม่

ตอนนี้คุณสามารถติดตั้ง QGIS3 ได้จากการosgeoแตะ homebrew ซึ่งจะช่วยประหยัดการแมคด้วย python symlink ... เช่น

brew tap osgeo/osgeo4mac
brew install qgis

จากนั้นพิมพ์qgisเทอร์มินัลเพื่อเรียกใช้จากนั้นปักหมุดไอคอนเมนูท่าเรือเพื่อให้การเปิดใช้ง่ายขึ้นในอนาคต

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

เนื่องจากปัญหาบางอย่างในปัจจุบันอาจจำเป็นต้องเรียกใช้ulimit -n 1024จากเทอร์มินัลเพื่อแก้ไขปัญหาสำหรับToo many open files @ rb_sysopen - /usr/local/var/homebrew/locks/xmlto.formula.lockข้อผิดพลาด คุณอาจต้องเรียกใช้brew install qgisมากกว่าหนึ่งครั้งเพื่อให้แพ็คเกจทั้งหมดค้นหาซึ่งกันและกัน

อัปเดตเก่า

(วิธีนี้ต้องการการอัปเดต symlink เมื่อเวอร์ชันเปลี่ยน ... ไม่เหมาะ)

สำหรับผู้ที่ใช้ homebrew คงเป็นการดีกว่าถ้าใช้ symlink มิฉะนั้นความเสียหายทุกประเภทอาจเกิดขึ้นได้ เช่นไบนารีไพ ธ อนอย่างเป็นทางการจะปรับเปลี่ยนของคุณ~./bash_profileเพื่อที่python3และpip3ไม่ชี้ไปที่ก่อ ...

ในกรณีของฉันฉันตอนนี้ symlinked รุ่น homebrew (ตามแนวของการสนทนาในคำตอบที่ได้รับจาก @Evenfire):

sudo ln -s /usr/local/Cellar/python/3.6.5/Frameworks/Python.framework /Library/Frameworks/Python.framework

จากนั้น QGIS3 บ่นว่าแพ็กเกจหลามขาดหายไปซึ่งสามารถติดตั้งได้ด้วย pip3 เช่น

pip3 install owslib PyYaml psycopg2 jinja2 pygments plotly

นอกจากนี้ยังอาจบ่นเกี่ยวกับgdalในกรณีของฉันฉันเพียงแค่ใช้ชง:

brew install gdal

ORIGINAL

(ไม่แนะนำวิธีนี้สำหรับผู้ใช้การต้มเบียร์!)

ฉันได้ติดตั้ง python3 ผ่านทาง Brew แล้วและฉันก็พบกับความยากลำบากเช่นเดียวกัน

สิ่งที่ดูเหมือนว่าการทำงานคือการติดตั้งอย่างเป็นทางการไบนารีหลาม/Library/Frameworks/Python.framework/Versions/3.6/bin/python3ซึ่งติดตั้ง

จากการทดลองและข้อผิดพลาดสิ่งนี้จะต้องทำก่อนที่1 Install GDAL Complete.pkgจะมีการติดตั้งแพ็กเกจซึ่งจะทำการติดตั้งไพ ธ อนผิดและ QGIS 3 จะบ่นเกี่ยวกับแพ็กเกจหลาม

ผู้ที่มีเวลาในการทดสอบอาจลองใช้ symlinks เพื่อไปรอบ ๆ โดยตรงโดยใช้ Brew (หรืออื่น ๆ ) python3


ขอบคุณ! การติดตั้ง python ก่อนหน้า "1 Install GDAL Complete.pkg" ได้ทำการหลอกลวงให้ฉันและแก้ไขข้อผิดพลาด "module osgeo not found"
Javier Fajardo

คุณติดตั้ง GDAL ด้วยhomebrewหรือไม่ ฉันสร้าง symlink สำหรับpythonแต่การติดตั้งจะขอที่ผมได้ติดตั้งด้วยGDAL2.2 homebrew
Duccio

ในกรณีของฉันฉันไม่ได้gdalติดตั้งกับ homebrew ความเข้าใจของฉันคือการที่ QGIS ขึ้นอยู่กับรุ่นของ KyngChaos โดยเฉพาะ (น่าเสียดาย!) ดังนั้นจึงอาจจำเป็นต้องติดตั้ง gdal ที่มาพร้อมกับ QGIS และอาจใช้งานได้
songololo

1
ฉันสังเกตเห็นว่าการติดตั้งไบนารีสำหรับ python3.7 ที่ใหม่กว่าไม่ได้รับการสนับสนุนโดยตัวติดตั้ง QGIS ใหม่ล่าสุด! จำเป็นต้องใช้ python3.6.6 และสามารถดาวน์โหลดได้จากลิงค์ที่คุณให้ไว้ในคำตอบนี้
Javier Fajardo

2
นี่อาจเป็นคำถามที่โง่มาก แต่เมื่อคุณติดตั้ง qgis ผ่าน homebrew คุณจะเรียกใช้มันได้อย่างไร คิดออก: qgis3เป็นคำสั่ง
Juan Francisco Saldarriaga

28

หากคุณติดตั้งPython3 ด้วย Homebrewคุณสามารถใช้symlinkเพื่อให้สอดคล้องกับความต้องการของตัวติดตั้ง (ตามที่แนะนำโดย @shongololo)

ดูเหมือนว่าการติดตั้งต้องการ Python3 ติดตั้งที่ (ขอบคุณ /Library/Frameworks/Python.framework/Versions/3.6/bin/python3@shongololo):

(ติดตั้ง python3 โดยใช้ Homebrew เพื่อติดตามส่วนนี้)

ค้นหาCellarไดเรกทอรีบนเครื่องของคุณ ของฉันอยู่ที่: /usr/local/Cellar. จากนั้นค้นหาไดเรกทอรีนี้: /usr/local/Cellar/python3/3.x.y_z/Frameworks/Python.framework(ซึ่ง3.x.y_zเป็นรุ่น python3 ที่คุณต้องการใช้สำหรับฉันแล้ว3.6.4_2) นี่คือไดเรกทอรีที่เราต้องการให้ผู้ติดตั้งค้นหา เราจำเป็นต้องลิงก์ไปยังไดเรกทอรีนี้จากไดเรกทอรีที่ผู้ติดตั้งดูอยู่โดยการสร้าง Symbolic Link

ใช้lnคำสั่ง ( ln -s TARGET_FILE_TO_LINK_TO LINK_NAME): ln -s /usr/local/Cellar/python3/3.x.y_z/Frameworks/Python.framework /Library/Frameworks/Python.frameworkจะทำเคล็ดลับ sudoแน่นอนคุณต้อง

สิ่งนี้ได้ผลสำหรับฉัน

("Cellar" เป็นสถานที่ที่ "kegs" ของคุณไปเอง Homebrew ติดตั้งแพ็คเกจไปยังไดเรกทอรีของตนเอง (ในห้องใต้ดิน) แล้วเชื่อมโยงไฟล์ของพวกเขาเข้ากับ / usr / local /. [จากบล็อกของ Ryan Kulla ])


ขอบคุณสำหรับข้อมูลนี้ ฉันแก้ไขด้วยตัวติดตั้ง "เริ่มต้น" แล้ว เนื่องจากฉันไม่ต้องการ Python สำหรับสิ่งอื่นที่จะใช้ได้กับฉัน โดยทั่วไปฉันต้องการใช้ Homebrew เพื่อความสอดคล้อง และ Apple มี v2 ติดตั้งโดยค่าเริ่มต้น การแลกเปลี่ยนระหว่างการใช้โปรแกรมติดตั้งสองตัว (Homebrew กับอีกตัวหนึ่งจากไซต์หลาม) คืออะไร? ฉันเดาว่า Homebrew จะทำให้ python อัพเดทได้ง่ายขึ้น และคุณสามารถถอนการติดตั้งได้อย่างง่ายดาย ฉันไม่รู้ว่าจะทำอย่างไรกับวิธีการติดตั้งอื่น ๆ ฉันคิดว่าจะกลับไปเป็นเวอร์ชัน Homebrew เพราะฉันรู้วิธีจัดการมัน
Greg

@greg homebrew ง่ายต่อการจัดการมากขึ้นเช่นถอนการติดตั้ง นอกจากนี้ยังช่วยให้แพคเกจต่าง ๆ ของคุณซึ่งกันและกันเชื่อมโยงกันค่อนข้างดี
songololo

1
@evenfire ขอบคุณสำหรับคำอธิบายที่ดี brew info pythonเป็นวิธีที่สะดวกในการค้นหาเส้นทางไปยังการติดตั้ง Python แบบชงที่มีอยู่อย่างรวดเร็ว
songololo

4
heads-up ที่ brew เพิ่งเปลี่ยนค่าเริ่มต้นpythonเป็น v3 ดังนั้นสำหรับผู้ที่เพิ่งปรับปรุง / อัพเกรด homebrew ของพวกเขาเส้นทางข้างต้นจะมีpythonและไม่ใช่python3
songololo

4
ฉันจะเชื่อมต่อไฟล์เฟรมเวิร์กกับ anaconda python ได้อย่างไร? (ฉันไม่พบ python.framework ในงูใหญ่)
natsuapo

5

ฉันติดตามลิงก์ที่มาพร้อมกับตัวติดตั้ง QGIS ไปที่https://www.python.org/downloads/และติดตั้ง python3 ด้วยวิธีดังกล่าว ตัวติดตั้ง QGIS นั้นมีความสุขแล้ว

สิ่งนี้ดูเหมือนจะขัดแย้งกับความคิดเห็นที่นี่:

"เนื่องจาก QGIS เชื่อมโยงไลบรารี python คุณต้องติดตั้ง python.org Python 3.6 คุณไม่สามารถแทนที่การติดตั้ง python 3 อื่นได้ขออภัยด้วยวิธีนี้"

โพสต์ที่http://www.kyngchaos.com/blog/2018/20180315_qgis_3_must_use_python.org_python_3 ถ้าฉันรู้วิธีติดต่อกับ William Kyngesbury ฉันก็จะทำ เขากำลังแสดงการบริการที่ดีเยี่ยม


4

อีกเวอร์ชั่นหนึ่งpyenvและเชื่อมโยงกันโดยใช้brewเพื่อการอ้างอิงเท่านั้น

ตำแหน่งที่จะติดตั้งที่แนะนำpyenvคือ~/.pyenv( $HOME/.pyenv) แต่อาจเป็นตำแหน่งใดก็ได้

  1. ที่pyenvเก็บโคลน(อาจปรับให้เข้า~/.pyenvกับ/path/to/pyenv)

    git clone https://github.com/pyenv/pyenv.git ~/.pyenv
  2. การตั้งค่าpyenvใน~/.bash_profile(อาจปรับให้เข้า$HOME/.pyenvกับ/path/to/pyenvระวังว่าบรรทัดที่สามจะต้องยังคงเป็นหนึ่งในขั้นสุดท้าย.bash_profileแม้หลังจากการปรับปรุงในอนาคต)

    echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
    echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
    echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile
  3. รีสตาร์ทเชลล์

    exec "$SHELL"
  4. ติดตั้งการพึ่งพาreadlineและxzวิธีที่ง่ายด้วยbrew

    brew install readline xz
  5. ติดตั้ง Python 3.6.x ที่มีPython.framework(อาจปรับหมายเลขรุ่น)

    env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 3.6.8
  6. ทำการปรับปรุงใหม่ทุกครั้งหลังจากเพิ่มรุ่น Python ใหม่ลงใน pyenv

    pyenv rehash
  7. symlink Python.framework

    sudo ln -s $(pyenv root)/versions/3.6.8/Python.framework /Library/Frameworks/Python.framework

ตอนนี้ตัวติดตั้ง QGIS 3.6.0 จาก qgis.org ควรรัน fine plus macOS ได้รับการจัดเตรียมไว้อย่างดีสำหรับ Python หลายรุ่นเล่นได้ดีกับ Python ของระบบ


สิ่งนี้ทำงานได้ดีกว่าสำหรับฉันมากกว่าการติดตั้งแบบโฮมเบียนซึ่งไม่พึงพอใจกับการอ้างอิงที่ฉันเคยติดตั้ง
MattyB

3

รุ่นที่ใช้pyenvและbrew:

brew install pyenv
env PYTHON_CONFIGURE_OPTS="--enable-framework CC=clang" pyenv install 3.6.5
sudo ln -s /Users/$USER/.pyenv/versions/3.6.5/Python.framework/Versions/3.6 /Library/Frameworks/Python.framework/Versions/3.6
sudo cp -R /Users/$USER/.pyenv/versions/3.6.5/Python.framework/Versions/3.6 /Library/Frameworks/Python.framework/Versions/3.6
sudo cp -r /Users/$USER/.pyenv/versions/3.6.5/lib/python3.6/lib-dynload/ /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload
sudo cp /Users/$USER/.pyenv/versions/3.6.5/lib/python3.6/lib-dynload/_struct.cpython-36m-darwin.so /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload/_struct.cpython-36m-darwin.so
# 

2
มันควรจะเพียงพอที่จะรัน 2 บรรทัดแรกแล้วln -s ~/.pyenv/versions/3.6.5/Python.framework /Library/Frameworks/Python.framework
Alex Markov

0

ฉันประสบปัญหาเดียวกันเมื่อติดตั้ง QGIS บน mac
มันล้มเหลวแม้ว่าฉันจะพยายาม softlink ด้วยงูใหญ่ตัวอื่น ๆ ที่ติดตั้งโดยอนาคอนดา ฯลฯ
วิธีที่ฉันแก้ไขปัญหา: ดาวน์โหลดเวอร์ชันที่เกี่ยวข้องกับไพธ อนในpython.orgและติดตั้ง

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