Installazione di QGIS3 su Mac?


30

Il programma di installazione di Kyngchaos non trova python3. Ho installato python3 usando HomeBrew e non si trova in/usr/local/Cellar/python/3.6.4_4/Frameworks/Python.framework/Versions/3.6/bin/python3.6

Come faccio a dire al programma di installazione di QGIS di riconoscere che python3 è installato?

Avevo precedentemente installato GDAL usando HomeBrew, quindi ho provato a reinstallare (o installare un'altra versione ovunque potesse finire) pensando che potesse aiutare con la situazione, ma il programma di installazione di QGIS3 non riesce ancora a trovare Python 3.

L'errore di installazione è un popup che compare non appena il programma di installazione è aperto e dice "python3 QGIS richiede Python 3.6".

Per gli utenti non Mac, la maggior parte sembra fare affidamento su Kyngchaos per fornire un programma di installazione per QGIS e ha appena rilasciato il programma di installazione per v3.

Aggiornamento: ho risposto alle mie domande di seguito. Non utilizzare HomeBrew a meno che non si sappia abbastanza da puntare il programma di installazione QGIS / QGIS sulla versione corretta (cosa che certamente non lo faccio), ma utilizzare la versione del programma di installazione python3 collegata al file Leggimi.


Dove sono gli installer di Kyngchaos? Non li trovo da nessuna parte.
Alex Leith,

Dato che non ha aggiornato il link, ho indovinato che fosse kyngchaos.com/files/software/qgis/QGIS-3.0.0-1.dmg
Greg

Non è ancora promosso sulla sua pagina web, vero?
Alex Leith,

2
"QGIS 2.18.15-4" viene ripetuto due volte su kyngchaos.com/software/qgis e il primo dovrebbe essere "QGIS-3.0.0-1". Penso che sia un errore di copia e incolla, in altre parole ha copiato il vecchio link ecc. E si è dimenticato di aggiornare. Come immaginerei questo, non perché l'ho mai fatto!
Greg

4
Oggi (12 marzo 2019), il link su kyngchaos.com/software/qgis è aggiornato.
Greg

Risposte:


35

NUOVO AGGIORNAMENTO

QGIS3 ora può essere installato dal osgeotocco homebrew, che consente di risparmiare confusione con i collegamenti simbolici di Python ...

brew tap osgeo/osgeo4mac
brew install qgis

Quindi digitare qgisil terminale per l'avvio, quindi appuntare l'icona del menu del dock per semplificare l'avvio in futuro.

Si noti che i registri della console di installazione forniranno anche un esempio su come collegare qgisin modo simbolico alla directory delle applicazioni.

A causa di alcuni problemi attuali, potrebbe essere necessario eseguire ulimit -n 1024dal terminale come soluzione alternativa per l' Too many open files @ rb_sysopen - /usr/local/var/homebrew/locks/xmlto.formula.lockerrore. Potrebbe anche essere necessario eseguire brew install qgispiù di una volta affinché tutti i pacchetti si trovino.

VECCHIO AGGIORNAMENTO

(Questo metodo richiede l'aggiornamento dei collegamenti simbolici quando cambiano le versioni ... cioè non è l'ideale)

Per coloro che usano l'homebrew, probabilmente è meglio usare solo un link simbolico, altrimenti potrebbero emergere tutti i tipi di caos. ad esempio, il pitone binario ufficiale sarà modificare il vostro ~./bash_profilemodo che python3e pip3nessun punto più tempo per preparare ...

Nel mio caso ho ora collegato in modo simbolico la versione homebrew (sulla falsariga della discussione nella risposta fornita da @Evenfire):

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

QGIS3 si è poi lamentato della mancanza di alcuni pacchetti python, che possono essere installati con pip3, ad es

pip3 install owslib PyYaml psycopg2 jinja2 pygments plotly

Potrebbe anche lamentarsi gdal, nel mio caso ho semplicemente usato brew:

brew install gdal

ORIGINALE

(Questo metodo non è raccomandato per gli utenti della birra!)

Ho anche installato python3 tramite brew e sto incontrando la stessa difficoltà.

Quello che sembra funzionare è installare i binari ufficiali di Python su cui installarli /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.

Da tentativi ed errori, questo deve essere fatto prima 1 Install GDAL Complete.pkgdell'installazione del pacchetto, che altrimenti si installa contro il python sbagliato e QGIS 3 si lamenterà dei pacchetti python mancanti.

Coloro che hanno il tempo di sperimentare potrebbero plausibilmente provare i collegamenti simbolici per spostarsi direttamente usando brew (o altri) python3.


Grazie! L'installazione di python poco prima di "1 Install GDAL Complete.pkg" mi ha aiutato e risolto l'errore "modulo osgeo non trovato".
Javier Fajardo,

Hai installato anche GDAL homebrew? Ho creato il collegamento simbolico pythonma l'installer chiede per GDAL2.2quale ho installato homebrew.
Duccio A

Nel mio caso non ho gdalinstallato con homebrew. La mia comprensione è che QGIS dipende specificamente dalla versione di KyngChaos (purtroppo!). Quindi potrebbe essere necessario installare gdal fornito con QGIS e quindi potrebbe funzionare.
Songololo,

1
Ho notato che l'installazione dei binari per il nuovo python3.7 non è supportata dal più recente programma di installazione di QGIS! python3.6.6 è necessario e può essere scaricato dal collegamento fornito in questa risposta.
Javier Fajardo,

2
Questa potrebbe essere una domanda molto stupida, ma una volta installato qgis tramite homebrew, come lo esegui? Capito: qgis3è il comando.
Juan Francisco Saldarriaga,

28

Se hai installato Python3 con Homebrew , puoi utilizzare i collegamenti simbolici per soddisfare le esigenze dell'installatore (come suggerito da @shongololo).

A quanto pare, l'installatore ha bisogno python3 installato (grazie @shongololo): /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.

(Installa python3 usando Homebrew per seguire questa parte)

Trova la Cellardirectory sul tuo computer. Il mio è a: /usr/local/Cellar. Quindi trova questa directory: /usr/local/Cellar/python3/3.x.y_z/Frameworks/Python.framework(dov'è 3.x.y_zla versione di python3 che vuoi usare, per me lo è 3.6.4_2). Questa è la directory che vogliamo trovare dall'installer. Dobbiamo collegarci a questa directory dalla directory che sta guardando il programma di installazione creando un collegamento simbolico.

Usando il lncomando ( 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.frameworkfarà il trucco. Di certo è necessario sudo.

Questo ha funzionato per me.

(La "Cantina" è un posto dove vanno tutti i tuoi "fusti". Homebrew installa i pacchetti nella loro directory (nella Cantina) e quindi collega i loro file in / usr / local /. [Dal blog di Ryan Kulla ])


Grazie per queste informazioni Ho risolto già con il programma di installazione "predefinito". Dal momento che non ho bisogno di Python per qualsiasi altra cosa che funzioni per me. In generale, preferisco usare Homebrew per coerenza. E Apple ha installato v2 per impostazione predefinita. Sono stati i compromessi tra l'utilizzo dei due programmi di installazione (Homebrew e uno dal sito Python)? Immagino che Homebrew manterrà Python aggiornato più facilmente. E puoi disinstallarlo facilmente. Non ho idea di come farlo con l'altro metodo di installazione. Mi è venuta in mente di tornare alla versione Homebrew dal momento che so come gestirla.
Greg

@greg homebrew è molto più facile da gestire, ad es. disinstallazioni. Mantiene anche le varie interdipendenze tra i pacchetti collegate abbastanza bene.
Songololo

1
@evenfire grazie per la bella spiegazione. brew info pythonè un modo pratico per trovare rapidamente percorsi alle installazioni esistenti di python prodotte
songololo

4
Un heads-up che ha recentemente modificato il loro valore predefinito pythonin v3, quindi per quelli che hanno recentemente aggiornato / aggiornato il loro homebrew, i percorsi di cui sopra conterrebbero pythone nonpython3
songololo

4
Come potrei collegare il file framework con anaconda python? (Non riesco a trovare python.framework in anaconda dirs)
natsuapo

5

Ho seguito il link fornito con il programma di installazione QGIS su https://www.python.org/downloads/ e installato python3 in quel modo. Il programma di installazione di QGIS era quindi felice.

Questo sembra essere contraddetto dai commenti qui:

"Poiché QGIS collega la libreria python, è necessario installare Python 3.6 python.org. Non è possibile sostituire un'altra installazione di Python 3. Spiacente, è così."

Pubblicato su http://www.kyngchaos.com/blog/2018/20180315_qgis_3_must_use_python.org_python_3 . Se sapessi come contattare William Kyngesbury, lo farei. Sta prestando un ottimo servizio però.


4

Un'altra versione pyenve collegamento simbolico, usando brewsolo per le dipendenze.

La posizione consigliata per l'installazione pyenvè ~/.pyenv( $HOME/.pyenv), ma potrebbe essere qualsiasi posizione.

  1. pyenvrepository clone (forse adattarsi ~/.pyenva /path/to/pyenv)

    git clone https://github.com/pyenv/pyenv.git ~/.pyenv
  2. installazione pyenvin ~/.bash_profile(forse adattarsi $HOME/.pyenva /path/to/pyenv, tenere presente, che la terza riga deve rimanere quella finale .bash_profile, anche dopo futuri aggiornamenti)

    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. riavvia la shell

    exec "$SHELL"
  4. installare le dipendenze readlinee xzil modo più semplice conbrew

    brew install readline xz
  5. installare Python 3.6.x contenente Python.framework(forse adattare il numero di versione)

    env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 3.6.8
  6. ripeti sempre dopo aver aggiunto una nuova versione di Python a pyenv

    pyenv rehash
  7. link simbolico Python.framework

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

Ora il programma di installazione QGIS 3.6.0 di qgis.org dovrebbe funzionare bene, inoltre macOS è ben preparato per più versioni di Python, giocando bene con Python di sistema.


Questo ha funzionato meglio per me rispetto all'installazione homebrew, che era davvero insoddisfatto delle dipendenze esistenti che avevo installato.
MattyB,

3

Una versione che utilizza pyenve 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
dovrebbe essere sufficiente solo per eseguire le prime 2 righe e poiln -s ~/.pyenv/versions/3.6.5/Python.framework /Library/Frameworks/Python.framework
Alex Markov

0

Ho riscontrato lo stesso problema durante l'installazione di QGIS su Mac.
Non è riuscito, anche se ho provato a collegarlo con altri python installati da Anaconda, ecc.
Il modo in cui ho risolto il problema: scaricare la versione di Python correlata in python.org e installarla.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.