QGIS3 auf Mac installieren?

30

Das Kyngchaos-Installationsprogramm findet python3 nicht. Ich habe python3 mit HomeBrew installiert und befindet sich nicht unter/usr/local/Cellar/python/3.6.4_4/Frameworks/Python.framework/Versions/3.6/bin/python3.6

Wie kann ich dem QGIS-Installationsprogramm mitteilen, dass Python3 installiert ist?

Ich hatte zuvor GDAL mit HomeBrew installiert, also habe ich versucht, eine neue Version zu installieren (oder eine andere Version zu installieren, wo immer dies enden mag). Ich dachte, dies könnte in der Situation hilfreich sein, aber das QGIS3-Installationsprogramm kann Python 3 immer noch nicht finden.

Der Installationsfehler ist ein Popup-Fenster, das angezeigt wird, sobald das Installationsprogramm geöffnet ist und die Meldung "python3 QGIS erfordert Python 3.6" anzeigt.

Für Nicht-Mac-Benutzer scheinen sich die meisten auf Kyngchaos zu verlassen, um ein Installationsprogramm für QGIS bereitzustellen, und er hat gerade das Installationsprogramm für Version 3 veröffentlicht.

Update: beantwortete meine eigenen Fragen unten. Verwenden Sie HomeBrew nur, wenn Sie über ausreichende Kenntnisse verfügen, um das QGIS-Installationsprogramm / QGIS auf die richtige Version zu verweisen (was ich mit Sicherheit nicht tue), sondern verwenden Sie die im ReadMe verknüpfte Version des Python3-Installationsprogramms.

Greg
quelle
Wo sind die Kyngchaos-Installateure? Ich kann sie nirgendwo finden.
Alex Leith
Da er den Link nicht aktualisiert hat, schätze
Greg
Es wird noch nicht auf seiner Webseite beworben, oder?
Alex Leith
2
"QGIS 2.18.15-4" wird zweimal unter kyngchaos.com/software/qgis wiederholt und das erste sollte "QGIS-3.0.0-1" sein. Ich denke, es ist ein Kopier- und Einfügefehler, mit anderen Worten, er hat den alten Link usw. kopiert und das Update vergessen. Wie würde ich das erraten - nicht, weil ich es jemals getan habe!
Greg
4
Heute (12. März 2019) wird der Link unter kyngchaos.com/software/qgis aktualisiert.
Greg

Antworten:

35

NEUES UPDATE

QGIS3 kann jetzt von osgeoHomebrew Tap aus installiert werden , was das Herumspielen mit Python-Symlinks erspart ... dh

brew tap osgeo/osgeo4mac
brew install qgis

Geben Sie qgisdann das zu startende Terminal ein und tippen Sie auf das Dock-Menüsymbol, um den Start in Zukunft zu vereinfachen.

Beachten Sie, dass die Protokolle der Installationskonsole auch ein Beispiel für die Verknüpfung qgismit Ihrem Anwendungsverzeichnis enthalten.

Aufgrund einiger aktueller Probleme kann es erforderlich sein, ulimit -n 1024vom Terminal aus zu starten, um den Too many open files @ rb_sysopen - /usr/local/var/homebrew/locks/xmlto.formula.lockFehler zu umgehen . Möglicherweise müssen Sie auch brew install qgismehrmals ausführen, damit alle Pakete einander finden.

ALTES UPDATE

(Diese Methode erfordert die Aktualisierung von Symlinks, wenn sich die Versionen ändern ... dh nicht ideal)

Für diejenigen, die Homebrew verwenden, ist es wahrscheinlich besser, nur einen Symlink zu verwenden, da sonst alle Arten von Chaos entstehen könnten. zB die offizielle Python-Binärdatei wird Ihre ~./bash_profileso ändern , dass python3und pip3nicht mehr zum Brauen zeigen ...

In meinem Fall habe ich jetzt die Homebrew-Version verlinkt (im Sinne der Diskussion in der Antwort von @Evenfire):

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

QGIS3 beschwerte sich dann, dass bestimmte Python-Pakete fehlten, die mit pip3 installiert werden können, z

pip3 install owslib PyYaml psycopg2 jinja2 pygments plotly

Es könnte sich auch beschweren gdal, in meinem Fall habe ich einfach brew verwendet:

brew install gdal

ORIGINAL

(Diese Methode wird für Brauanwender nicht empfohlen!)

Ich habe auch Python3 über Brew installiert und stoße auf die gleiche Schwierigkeit.

Was zu funktionieren scheint, ist die Installation der offiziellen Python-Binärdateien, auf denen installiert wird /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.

Nach Versuch und Irrtum muss dies vor der 1 Install GDAL Complete.pkgInstallation des Pakets erfolgen. Andernfalls wird das Paket auf dem falschen Python installiert und QGIS 3 beschwert sich über fehlende Python-Pakete.

Diejenigen, die Zeit zum Experimentieren haben, könnten möglicherweise versuchen, Symlinks zu verwenden, um direkt mit dem Brew (oder einem anderen) Python3 umzugehen.

Songololo
quelle
Vielen Dank! Die Installation von Python kurz vor der "1 Install GDAL Complete.pkg" hat für mich den Trick gemacht und den Fehler "Modul osgeo not found" behoben.
Javier Fajardo
Hast du GDAL auch mit installiert homebrew? Ich habe den Symlink für erstellt, pythonaber der Installer fragt, mit GDAL2.2welchem ​​ich installiert habe homebrew.
Duccio A
In meinem Fall habe ich nicht gdalmit Homebrew installiert. Ich verstehe, dass QGIS speziell von der Version von KyngChaos abhängt (leider!). Es könnte also notwendig sein, das mit QGIS gelieferte GDAL zu installieren, und dann könnte es funktionieren.
Songololo
1
Ich habe festgestellt, dass die Installation von Binärdateien für das neuere python3.7 vom neuesten QGIS-Installationsprogramm nicht unterstützt wird! python3.6.6 ist erforderlich und kann über den in dieser Antwort angegebenen Link heruntergeladen werden.
Javier Fajardo
2
Dies mag eine sehr dumme Frage sein, aber wenn Sie QGIS über Homebrew installiert haben, wie können Sie es ausführen? Herausgefunden: qgis3ist der Befehl.
Juan Francisco Saldarriaga
28

Wenn Sie Python3 mit Homebrew installiert haben , können Sie Symlinks verwenden , um die Anforderungen des Installationsprogramms zu erfüllen (wie von @shongololo vorgeschlagen).

Es scheint, der Installateur muss Python3 installiert an (dank @shongololo): /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.

(Installiere python3 mit Homebrew, um diesem Teil zu folgen.)

Suchen Sie das CellarVerzeichnis auf Ihrem Computer. Meins ist unter: /usr/local/Cellar. Dann finden Sie dieses Verzeichnis: /usr/local/Cellar/python3/3.x.y_z/Frameworks/Python.framework(Wo 3.x.y_zist die Python3-Version, die Sie verwenden möchten, für mich ist es 3.6.4_2). Dies ist das Verzeichnis, das der Installer finden soll. Wir müssen von dem Verzeichnis, in dem sich das Installationsprogramm befindet, eine Verknüpfung zu diesem Verzeichnis herstellen, indem wir eine symbolische Verknüpfung erstellen.

Mit dem lnBefehl ( 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.frameworkwird der Trick ausgeführt. Das musst du auf jeden Fall sudo.

Das hat bei mir geklappt.

(Der "Keller" ist ein Ort, an dem alle "Kegs" landen. Homebrew installiert Pakete in einem eigenen Verzeichnis (im Keller) und verknüpft ihre Dateien mit / usr / local /. [Aus Ryan Kullas Blog ].)

Abendfeuer
quelle
Danke für diese Info. Ich habe das schon mit "default" Installer behoben. Da ich Python für nichts anderes brauche, funktioniert es für mich. Im Allgemeinen bevorzuge ich Homebrew aus Gründen der Konsistenz. Und Apple hat v2 standardmäßig installiert. Waren die Kompromisse zwischen der Verwendung der beiden Installationsprogramme (Homebrew und eines von der Python-Site)? Ich denke, dass Homebrew Python einfacher auf dem neuesten Stand halten wird. Und Sie können leicht deinstallieren. Ich habe keine Ahnung, wie man das mit der anderen Installationsmethode macht. Ich musste überlegen, zur Homebrew-Version zurückzukehren, da ich weiß, wie ich damit umgehen soll.
Greg
@greg Homebrew ist einfacher zu verwalten, z. B. Deinstallieren. Es hält auch Ihre verschiedenen Paket-Abhängigkeiten ziemlich gut miteinander verbunden.
Songololo
1
@evenfire danke für die nette erklärung. brew info python
Dies
4
Ein Heads-Up, das kürzlich seine Standardeinstellung pythonauf v3 geändert hat , sodass die oben genannten Pfade für diejenigen, die kürzlich ihr Homebrew aktualisiert / aktualisiert haben, pythonpython3
Folgendes
4
Wie könnte ich die Framework-Datei mit Anaconda Python verbinden? (Ich kann python.framework in anaconda
dirs
5

Ich bin dem Link gefolgt, der mit dem QGIS-Installationsprogramm zu https://www.python.org/downloads/ kam, und habe Python3 auf diese Weise installiert. Der QGIS-Installer war dann glücklich.

Dies scheint durch Kommentare hier widersprochen zu werden:

"Da QGIS die Python-Bibliothek verknüpft, müssen Sie python.org Python 3.6 installieren. Sie können keine andere Python 3-Installation ersetzen. Tut mir leid, so ist das."

Gepostet unter http://www.kyngchaos.com/blog/2018/20180315_qgis_3_must_use_python.org_python_3 . Wenn ich wüsste, wie ich mit William Kyngesbury Kontakt aufnehmen kann, würde ich. Er leistet einen großartigen Dienst.

Greg
quelle
4

Eine andere Version von pyenvund Symlinking, brewnur für Abhängigkeiten.

Der empfohlene Installationsort pyenvist ~/.pyenv( $HOME/.pyenv), es kann sich jedoch auch um einen anderen Ort handeln.

  1. Klon - pyenvRepository (vielleicht anpassen ~/.pyenvzu /path/to/pyenv)

    git clone https://github.com/pyenv/pyenv.git ~/.pyenv
  2. Setup pyenvin ~/.bash_profile(möglicherweise anpassen $HOME/.pyenvzu /path/to/pyenv, bewusst sein, dass die dritte Zeile der letzte der bleiben muss .bash_profile, auch nach zukünftigen Updates)

    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. Starten Sie die Shell neu

    exec "$SHELL"
  4. Abhängigkeiten installieren readlineund auf xzeinfache Weise mitbrew

    brew install readline xz
  5. installiere Python 3.6.x mit Python.framework( evtl. Versionsnummer anpassen)

    env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 3.6.8
  6. Nach dem Hinzufügen einer neuen Python-Version immer wieder aufwärmen pyenv

    pyenv rehash
  7. symlink Python.framework

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

Jetzt sollte das QGIS 3.6.0-Installationsprogramm von qgis.org einwandfrei funktionieren. Außerdem ist macOS für mehrere Python-Versionen gut vorbereitet und spielt gut mit dem Python des Systems.

stapelbar
quelle
Dies funktionierte besser für mich als die Homebrew-Installation, die mit den vorhandenen Abhängigkeiten, die ich installiert hatte, wirklich unzufrieden war.
MattyB
3

Eine Version mit pyenvund 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
# 
jmunsch
quelle
2
Es sollte ausreichen, nur die ersten zwei Zeilen und dannln -s ~/.pyenv/versions/3.6.5/Python.framework /Library/Frameworks/Python.framework
Alex Markov
0

Ich hatte das gleiche Problem bei der Installation von QGIS auf einem Mac.
Es ist fehlgeschlagen, obwohl ich versucht habe, es mit einem anderen von anaconda installierten Python usw. zu verknüpfen.
So habe ich das Problem gelöst: Laden Sie die zugehörige Python-Version in python.org herunter und installieren Sie sie.

Chokurei
quelle