Vous installez QGIS3 sur Mac?

30

Le programme d'installation de Kyngchaos ne trouve pas python3. J'ai installé python3 à l'aide de HomeBrew et ne se trouve pas à/usr/local/Cellar/python/3.6.4_4/Frameworks/Python.framework/Versions/3.6/bin/python3.6

Comment dire au programme d'installation de QGIS de reconnaître que python3 est installé?

J'avais déjà installé GDAL à l'aide de HomeBrew, j'ai donc essayé de réinstaller (ou d'installer une autre version là où elle pourrait finir) en pensant que cela pourrait aider la situation, mais le programme d'installation de QGIS3 ne trouve toujours pas python 3.

L'erreur d'installation est une fenêtre contextuelle qui apparaît dès que le programme d'installation est ouvert et indique «python3 QGIS nécessite Python 3.6».

Pour les utilisateurs non Mac, la plupart semblent s'appuyer sur Kyngchaos pour fournir un programme d'installation pour QGIS et il vient de publier le programme d'installation pour v3.

Mise à jour: répondu à mes propres questions ci-dessous. N'utilisez HomeBrew que si vous en savez suffisamment pour pointer l'installateur QGIS / QGIS vers la bonne version (ce que je n'ai certainement pas), mais utilisez la version de l'installateur python3 liée dans le fichier Lisez-moi.

Greg
la source
Où sont les programmes d'installation de Kyngchaos? Je ne les trouve nulle part.
Alex Leith
Puisqu'il n'a pas mis à jour le lien, j'ai deviné qu'il s'agissait de kyngchaos.com/files/software/qgis/QGIS-3.0.0-1.dmg
Greg
Il n'est pas encore promu sur sa page Web, n'est-ce pas?
Alex Leith
2
"QGIS 2.18.15-4" est répété deux fois sur kyngchaos.com/software/qgis et le premier devrait être "QGIS-3.0.0-1". Je pense que c'est une erreur de copier-coller, en d'autres termes, il a copié l'ancien lien, etc. et a oublié de mettre à jour. Comment pourrais-je deviner cela - pas parce que je l'ai déjà fait!
Greg
4
Aujourd'hui (12 mars 2019), le lien sur kyngchaos.com/software/qgis est mis à jour.
Greg

Réponses:

35

NOUVELLE MISE À JOUR

QGIS3 peut maintenant être installé à partir osgeodu tap homebrew de, ce qui permet d'économiser sur les liens symboliques en python ... ie

brew tap osgeo/osgeo4mac
brew install qgis

Tapez ensuite qgisle terminal à lancer, puis épinglez l'icône du menu du dock pour simplifier le lancement à l'avenir.

Notez que les journaux de la console d'installation fourniront également un exemple de lien symbolique qgisvers votre répertoire d'applications.

En raison de certains problèmes actuels, il peut être nécessaire d'exécuter à ulimit -n 1024partir du terminal comme solution de contournement pour l' Too many open files @ rb_sysopen - /usr/local/var/homebrew/locks/xmlto.formula.lockerreur. Vous devrez peut-être également exécuter brew install qgisplusieurs fois pour que tous les packages se trouvent.

ANCIENNE MISE À JOUR

(Cette méthode nécessite la mise à jour des liens symboliques lorsque les versions changent ... c'est pas idéal)

Pour ceux qui utilisent l'homebrew, il est probablement préférable d'utiliser simplement un lien symbolique, sinon toutes sortes de ravages pourraient émerger. par exemple le binaire python officiel modifiera votre ~./bash_profilesorte que python3et pip3ne pointent plus à brasser ...

Dans mon cas, j'ai maintenant un lien symbolique vers la version homebrew (dans le sens de la discussion dans la réponse fournie par @Evenfire):

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

QGIS3 s'est ensuite plaint de l'absence de certains packages python, qui peuvent être installés avec pip3, par exemple

pip3 install owslib PyYaml psycopg2 jinja2 pygments plotly

Il pourrait également se plaindre gdal, dans mon cas, j'ai simplement utilisé du breuvage:

brew install gdal

ORIGINAL

(Cette méthode n'est pas recommandée pour les utilisateurs de bière!)

J'ai également installé python3 via brew et je rencontre la même difficulté.

Ce qui semble fonctionner, c'est d'installer les binaires officiels de python qui s'installent sur /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.

À partir d'essais et d'erreurs, cela doit être fait avant l' 1 Install GDAL Complete.pkginstallation du package, qui autrement s'installe contre le mauvais python et QGIS 3 se plaindra des packages python manquants.

Ceux qui ont le temps d'expérimenter pourraient en théorie essayer des liens symboliques pour se déplacer directement en utilisant le brassage (ou autre) python3.

songololo
la source
Merci! L'installation de python juste avant le "1 Install GDAL Complete.pkg" a fait l'affaire pour moi et a résolu l'erreur "module osgeo not found".
Javier Fajardo
Avez-vous également installé GDAL homebrew? J'ai créé le lien symbolique pour pythonmais l'installateur demande avec GDAL2.2qui j'ai installé homebrew.
Duccio A
Dans mon cas, je n'ai pas gdalinstallé avec homebrew. Ma compréhension est que QGIS dépend spécifiquement de la version de KyngChaos (malheureusement!). Il pourrait donc être nécessaire d'installer le gdal fourni avec QGIS, puis cela pourrait fonctionner.
songololo
1
J'ai remarqué que l'installation des binaires pour le nouveau python3.7 n'est pas prise en charge par le dernier programme d'installation de QGIS! python3.6.6 est nécessaire, et il peut être téléchargé à partir du lien que vous avez fourni dans cette réponse.
Javier Fajardo
2
Cela peut être une question très stupide, mais une fois que vous avez installé qgis via homebrew, comment le lancez-vous? Compris: qgis3c'est la commande.
Juan Francisco Saldarriaga
28

Si vous avez installé Python3 avec Homebrew , vous pouvez utiliser des liens symboliques pour répondre aux besoins du programme d'installation (comme suggéré par @shongololo).

Il semble, l'installateur a besoin python3 installé à (merci @shongololo): /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.

(Installez python3 en utilisant Homebrew pour suivre cette partie)

Recherchez le Cellarrépertoire sur votre machine. Le mien est à: /usr/local/Cellar. Ensuite, trouvez ce répertoire: /usr/local/Cellar/python3/3.x.y_z/Frameworks/Python.framework(où 3.x.y_zest la version python3 que vous souhaitez utiliser, pour moi c'est 3.6.4_2). C'est le répertoire que nous voulons que l'installateur trouve. Nous devons créer un lien vers ce répertoire à partir du répertoire que l'installateur regarde en créant un lien symbolique.

Utiliser la lncommande ( 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.frameworkfera l'affaire. Vous en avez certainement besoin sudo.

Cela a fonctionné pour moi.

(Le "Cellar" est un endroit où vont tous vos "kegs". Homebrew installe les packages dans leur propre répertoire (dans le Cellar) puis crée des liens symboliques vers leurs fichiers dans / usr / local /. [ Du blog de Ryan Kulla ])

Evenfire
la source
Merci pour cette info. J'ai déjà corrigé avec l'installateur "par défaut". Puisque je n'ai pas besoin de Python pour autre chose qui fonctionnera pour moi. Je préfère en général utiliser Homebrew pour plus de cohérence. Et Apple a installé la v2 par défaut. Y a-t-il eu des compromis entre l'utilisation des deux programmes d'installation (Homebrew et un du site python)? Je suppose que Homebrew gardera python mis à jour plus facilement. Et vous pouvez désinstaller facilement. Je ne sais pas comment faire cela avec l'autre méthode d'installation. Cela m'a fait penser à revenir à la version Homebrew car je sais comment la gérer.
Greg
@greg homebrew est plus facile à gérer, par exemple les désinstallations. Il maintient également vos diverses interdépendances de packages étroitement liées.
songololo
1
@evenfire merci pour la belle explication. brew info pythonest un moyen pratique de trouver rapidement des chemins vers des installations existantes de python brassé
songololo
4
Un heads-up qui a récemment changé sa valeur par défaut pythonen v3, donc pour ceux qui ont récemment mis à jour / amélioré leur homebrew, les chemins ci-dessus contiendraient pythonet nonpython3
songololo
4
Comment pourrais-je connecter le fichier framework avec anaconda python? (Je ne trouve pas python.framework dans les dires anaconda)
natsuapo
5

J'ai suivi le lien fourni avec le programme d'installation de QGIS vers https://www.python.org/downloads/ et installé python3 de cette façon. Le programme d'installation de QGIS était alors satisfait.

Cela semble être contredit par les commentaires ici:

"Parce que QGIS relie la bibliothèque python, vous devez installer python.org Python 3.6. Vous ne pouvez pas remplacer une autre installation de python 3. Désolé, c'est comme ça."

Publié à http://www.kyngchaos.com/blog/2018/20180315_qgis_3_must_use_python.org_python_3 . Si je savais comment contacter William Kyngesbury, je le ferais. Il rend cependant un excellent service.

Greg
la source
4

Une autre version de pyenvet symlinking, utilisant brewjuste pour les dépendances.

L'emplacement recommandé pour l'installation pyenvest ~/.pyenv( $HOME/.pyenv), mais pourrait être n'importe quel emplacement.

  1. pyenvréférentiel de clone (peut-être s'adapter ~/.pyenvà /path/to/pyenv)

    git clone https://github.com/pyenv/pyenv.git ~/.pyenv
  2. configuration pyenven ~/.bash_profile(adapter peut - être $HOME/.pyenvà /path/to/pyenv, être conscient, que la troisième ligne doit rester le dernier de .bash_profilemême après les mises à jour futures)

    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. redémarrer le shell

    exec "$SHELL"
  4. installer les dépendances readlineet xzla manière simple avecbrew

    brew install readline xz
  5. installer Python 3.6.x contenant Python.framework(peut-être adapter le numéro de version)

    env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 3.6.8
  6. toujours ressasser après avoir ajouté une nouvelle version Python à pyenv

    pyenv rehash
  7. lien symbolique Python.framework

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

Maintenant, le programme d'installation de QGIS 3.6.0 de qgis.org devrait fonctionner correctement et macOS est bien préparé pour plusieurs versions de Python, fonctionnant bien avec Python du système.

sans pile
la source
Cela a mieux fonctionné pour moi que l'installation homebrew, qui était vraiment mécontent des dépendances existantes que j'avais installées.
MattyB
3

Une version utilisant pyenvet 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
la source
2
cela devrait suffire juste pour exécuter les 2 premières lignes, puisln -s ~/.pyenv/versions/3.6.5/Python.framework /Library/Frameworks/Python.framework
Alex Markov
0

J'ai rencontré le même problème lors de l'installation de QGIS sur mac.
Il a échoué, bien que j'essayé de avec d' autres créez un lien symbolique python installé par Anaconda, etc.
La façon dont je résolu le problème: télécharger la version liée python dans python.org et installer.

Chokurei
la source