Menginstal QGIS3 di Mac?

30

Pemasang Kyngchaos tidak menemukan python3. Saya menginstal python3 menggunakan HomeBrew dan tidak terletak di/usr/local/Cellar/python/3.6.4_4/Frameworks/Python.framework/Versions/3.6/bin/python3.6

Bagaimana saya memberi tahu installer QGIS untuk mengenali bahwa python3 diinstal?

Saya sebelumnya telah menginstal GDAL menggunakan HomeBrew, jadi coba instal ulang (atau menginstal versi lain di mana pun itu mungkin berakhir) berpikir itu mungkin membantu dengan situasi, tetapi installer QGIS3 masih tidak dapat menemukan python 3.

Kesalahan penginstalan adalah sembulan yang muncul segera setelah penginstal terbuka dan mengatakan "python3 QGIS membutuhkan Python 3.6."

Untuk pengguna non Mac, kebanyakan tampaknya bergantung pada Kyngchaos untuk menyediakan installer untuk QGIS dan ia baru saja merilis installer untuk v3.

Perbarui: jawab pertanyaan saya sendiri di bawah ini. Jangan gunakan HomeBrew kecuali Anda cukup tahu untuk mengarahkan installer QGIS / QGIS ke versi yang benar (yang tentu saja tidak saya lakukan), tetapi gunakan versi installer python3 yang tertaut di ReadMe.

Greg
sumber
Di mana installer Kyngchaos? Saya tidak dapat menemukannya di mana pun.
Alex Leith
Karena dia belum memperbarui tautan, saya menduga itu adalah kyngchaos.com/files/software/qgis/QGIS-3.0.0-1.dmg
Greg
Belum dipromosikan di laman webnya, bukan?
Alex Leith
2
"QGIS 2.18.15-4" diulang dua kali di kyngchaos.com/software/qgis dan yang pertama harus "QGIS-3.0.0-1". Saya pikir ini adalah kesalahan salin dan tempel, dengan kata lain dia menyalin tautan lama, dll, dan lupa memperbarui. Bagaimana saya bisa menebak ini — bukan karena saya pernah melakukannya!
Greg
4
Hari ini (12 Mar 2019), tautan di kyngchaos.com/software/qgis diperbarui.
Greg

Jawaban:

35

PEMBARUAN BARU

QGIS3 sekarang dapat diinstal dari osgeokeran homebrew, yang menyimpan mucking tentang symlink python ... yaitu

brew tap osgeo/osgeo4mac
brew install qgis

Kemudian ketik qgisterminal yang akan diluncurkan, lalu sematkan ikon menu dock untuk mempermudah peluncuran di masa mendatang.

Perhatikan bahwa log konsol instalasi juga akan memberikan contoh cara menyinkronkan qgiske direktori aplikasi Anda.

Karena beberapa masalah saat ini, mungkin perlu dijalankan ulimit -n 1024dari terminal sebagai solusi untuk Too many open files @ rb_sysopen - /usr/local/var/homebrew/locks/xmlto.formula.lockkesalahan tersebut. Anda mungkin juga perlu menjalankan brew install qgislebih dari satu kali untuk semua paket untuk menemukan satu sama lain.

PEMBARUAN TUA

(Metode ini membutuhkan pembaruan symlink ketika versi berubah ... yaitu tidak ideal)

Bagi mereka yang menggunakan homebrew, mungkin lebih baik menggunakan symlink saja, jika tidak semua kekacauan bisa muncul. misalnya biner python resmi akan memodifikasi Anda ~./bash_profilesehingga python3dan pip3tidak lagi menunjuk ke pembuatan ...

Dalam kasus saya sekarang saya menghubungkan versi homebrew (sesuai dengan diskusi dalam jawaban yang diberikan oleh @Evenfire):

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

QGIS3 kemudian mengeluh bahwa paket python tertentu hilang, yang dapat diinstal dengan pip3, misalnya

pip3 install owslib PyYaml psycopg2 jinja2 pygments plotly

Mungkin juga mengeluh tentang gdal, dalam kasus saya, saya hanya menggunakan minuman:

brew install gdal

ASLI

(Metode ini tidak disarankan untuk pengguna minuman!)

Saya juga sudah menginstal python3 melalui minuman dan saya mengalami kesulitan yang sama.

Yang tampaknya berhasil adalah menginstal binari python resmi yang diinstal ke /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.

Dari percobaan dan kesalahan, ini harus dilakukan sebelum 1 Install GDAL Complete.pkgpaket diinstal, yang jika tidak diinstal terhadap python yang salah dan QGIS 3 akan mengeluh tentang paket python yang hilang.

Mereka yang memiliki waktu untuk bereksperimen dapat mencoba symlink untuk berkeliling secara langsung menggunakan brew (atau lainnya) python3.

songololo
sumber
Terima kasih! Instalasi python tepat sebelum "1 Install GDAL Complete.pkg" melakukan trik untuk saya dan menyelesaikan kesalahan "modul osgeo tidak ditemukan".
Javier Fajardo
Apakah Anda sudah menginstal GDAL homebrew? Saya membuat symlink untuk pythontetapi installer meminta GDAL2.2yang saya instal dengan homebrew.
Duccio A
Dalam kasus saya, saya tidak gdalmenginstal dengan homebrew. Pemahaman saya adalah bahwa QGIS secara khusus tergantung pada versi KyngChaos (sayangnya!). Jadi mungkin perlu untuk menginstal gdal yang disediakan dengan QGIS dan kemudian bekerja.
songololo
1
Saya perhatikan bahwa menginstal binari untuk python3.7 yang lebih baru tidak didukung oleh installer QGIS terbaru! python3.6.6 diperlukan, dan dapat diunduh dari tautan yang Anda berikan dalam jawaban ini.
Javier Fajardo
2
Ini mungkin pertanyaan yang sangat bodoh, tetapi setelah Anda menginstal qgis via homebrew, bagaimana Anda menjalankannya? Mencari tahu: qgis3adalah perintah.
Juan Francisco Saldarriaga
28

Jika Anda telah menginstal Python3 dengan Homebrew , Anda dapat menggunakan symlink untuk memenuhi kebutuhan pemasang (seperti yang disarankan oleh @shongololo).

Tampaknya, installer perlu Python3 dipasang di (terima kasih @shongololo): /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.

(Instal python3 menggunakan Homebrew untuk mengikuti bagian ini)

Temukan Cellardirektori di mesin Anda. Saya adalah di: /usr/local/Cellar. Kemudian cari direktori ini: /usr/local/Cellar/python3/3.x.y_z/Frameworks/Python.framework(di mana 3.x.y_zversi python3 yang ingin Anda gunakan, bagi saya itu 3.6.4_2). Ini adalah direktori yang kami inginkan untuk ditemukan oleh penginstal. Kita perlu menautkan ke direktori ini dari direktori yang dilihat oleh pemasang dengan membuat Link Simbolik.

Menggunakan lnperintah ( 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.frameworkakan melakukan trik. Anda tentu perlu sudo.

Ini berhasil bagi saya.

("Gudang" adalah tempat semua "tong" Anda masuk. Homebrew menginstal paket ke direktori mereka sendiri (di Gudang) dan kemudian menyinkronkan file-file mereka ke / usr / local /. [Dari blog Ryan Kulla ])

Bahkan api
sumber
Terima kasih atas info ini. Saya sudah memperbaiki dengan installer "default". Karena saya tidak perlu Python untuk hal lain yang akan bekerja untuk saya. Secara umum saya lebih suka menggunakan Homebrew untuk konsistensi. Dan Apple telah menginstal v2 secara default. Apakah ada tradeoff antara menggunakan dua installer (Homebrew dan satu dari situs python)? Saya kira Homebrew akan terus memperbarui python dengan lebih mudah. Dan Anda dapat menghapus dengan mudah. Saya tidak tahu bagaimana melakukannya dengan metode instal lainnya. Membuat saya berpikir untuk kembali ke versi Homebrew karena saya tahu cara mengelolanya.
Greg
@greg homebrew lebih mudah untuk lebih mudah dikelola, misalnya mencopot pemasangan. Ini juga menjaga berbagai paket yang saling terkait cukup baik.
songololo
1
@evenfire terima kasih atas penjelasannya. brew info pythonadalah cara praktis untuk dengan cepat menemukan jalur ke pemasangan python yang diseduh yang ada
songololo
4
Head-up yang diseduh baru-baru ini mengubah standarnya pythonmenjadi v3, jadi bagi mereka yang baru-baru ini memperbarui / memutakhirkan homebrew mereka, jalur di atas akan berisi pythondan tidakpython3
songololo
4
Bagaimana saya bisa menghubungkan file kerangka kerja dengan anaconda python? (Saya tidak dapat menemukan python.framework dalam dir anaconda)
natsuapo
5

Saya mengikuti tautan yang disertakan dengan pemasang QGIS ke https://www.python.org/downloads/ dan menginstal python3 dengan cara itu. Pemasang QGIS kemudian senang.

Ini tampaknya bertentangan dengan komentar di sini:

"Karena QGIS menautkan perpustakaan python, Anda harus menginstal python.org Python 3.6. Anda tidak dapat mengganti instalasi python 3 lainnya. Maaf, begitulah adanya."

Diposting di http://www.kyngchaos.com/blog/2018/20180315_qgis_3_must_use_python.org_python_3 . Jika saya tahu cara menghubungi William Kyngesbury, saya akan melakukannya. Dia melakukan layanan yang hebat.

Greg
sumber
4

Versi lain pyenvdan symlinking, menggunakan brewhanya untuk dependensi.

Lokasi yang disarankan untuk menginstal pyenvadalah ~/.pyenv( $HOME/.pyenv), tetapi dapat berupa lokasi apa pun.

  1. pyenvrepositori clone (mungkin beradaptasi ~/.pyenvdengan /path/to/pyenv)

    git clone https://github.com/pyenv/pyenv.git ~/.pyenv
  2. Setup pyenvdi ~/.bash_profile(mungkin beradaptasi $HOME/.pyenvuntuk /path/to/pyenv, menyadari, bahwa baris ketiga harus tinggal satu akhir .bash_profile, bahkan setelah masa depan pembaruan)

    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. restart shell

    exec "$SHELL"
  4. instal dependensi readlinedan xzcara mudah denganbrew

    brew install readline xz
  5. instal Python 3.6.x yang berisi Python.framework(mungkin menyesuaikan nomor versi)

    env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 3.6.8
  6. selalu mengulangi setelah menambahkan versi Python baru ke pyenv

    pyenv rehash
  7. symlink Python.framework

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

Sekarang installer QGIS 3.6.0 dari qgis.org harus berjalan dengan baik plus macOS dipersiapkan dengan baik untuk beberapa versi Python, bermain bagus dengan sistem Python.

bertumpuk
sumber
Ini bekerja lebih baik untuk saya daripada menginstal homebrew, yang benar-benar tidak senang dengan dependensi yang sudah saya instal.
MattyB
3

Versi menggunakan pyenvdan 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
# 
Jonunsch
sumber
2
itu harus cukup hanya dengan menjalankan 2 baris pertama dan kemudianln -s ~/.pyenv/versions/3.6.5/Python.framework /Library/Frameworks/Python.framework
Alex Markov
0

Saya menghadapi masalah yang sama ketika menginstal QGIS di mac.
Itu gagal, meskipun saya mencoba untuk softlink dengan python lain yang diinstal oleh anaconda, dll
. Cara saya memecahkan masalah: unduh versi python terkait di python.org dan instal.

Chokurei
sumber