¿Instalar QGIS3 en Mac?

30

El instalador de Kyngchaos no encuentra python3. Instalé python3 usando HomeBrew y no está ubicado en/usr/local/Cellar/python/3.6.4_4/Frameworks/Python.framework/Versions/3.6/bin/python3.6

¿Cómo le digo al instalador de QGIS que reconozca que python3 está instalado?

Previamente instalé GDAL usando HomeBrew, así que intenté reinstalar (o instalar otra versión donde pudiera terminar) pensando que podría ayudar con la situación, pero el instalador QGIS3 todavía no puede encontrar Python 3.

El error de instalación es una ventana emergente que aparece tan pronto como el instalador está abierto y dice "python3 QGIS requiere Python 3.6".

Para los usuarios que no son Mac, la mayoría parece confiar en Kyngchaos para proporcionar un instalador para QGIS y él acaba de lanzar el instalador para v3.

Actualización: respondí mis propias preguntas a continuación. No use HomeBrew a menos que sepa lo suficiente como para apuntar el instalador QGIS / QGIS a la versión correcta (que ciertamente no), pero use la versión del instalador python3 vinculada en el archivo Léame.

Greg
fuente
¿Dónde están los instaladores de Kyngchaos? No los puedo encontrar en ninguna parte.
Alex Leith
Como no ha actualizado el enlace, supuse que sería kyngchaos.com/files/software/qgis/QGIS-3.0.0-1.dmg
Greg
¿Todavía no se promociona en su página web?
Alex Leith
2
"QGIS 2.18.15-4" se repite dos veces en kyngchaos.com/software/qgis y el primero debe ser "QGIS-3.0.0-1". Creo que es un error de copiar y pegar, en otras palabras, copió el enlace anterior, etc. y olvidó actualizar. ¿Cómo adivinaría esto, no porque lo haya hecho alguna vez?
Greg
44
Hoy (12 de marzo de 2019), se actualiza el enlace en kyngchaos.com/software/qgis .
Greg

Respuestas:

35

NUEVA ACTUALIZACIÓN

QGIS3 ahora se puede instalar desde osgeoel toque homebrew, lo que ahorra mucking con los enlaces simbólicos de Python ... es decir

brew tap osgeo/osgeo4mac
brew install qgis

Luego, escriba qgisel terminal para iniciar, luego fije el icono del menú del muelle para simplificar el lanzamiento en el futuro.

Tenga en cuenta que los registros de la consola de instalación también proporcionarán un ejemplo de cómo vincular qgisa su directorio de aplicaciones.

Debido a algunos problemas actuales, puede ser necesario ejecutar ulimit -n 1024desde la terminal como una solución para el Too many open files @ rb_sysopen - /usr/local/var/homebrew/locks/xmlto.formula.lockerror. También es posible que deba ejecutar brew install qgismás de una vez para que todos los paquetes se encuentren.

ANTIGUA ACTUALIZACIÓN

(Este método requiere actualizar los enlaces simbólicos cuando las versiones cambian ... es decir, no es ideal)

Para aquellos que usan homebrew, probablemente sea mejor usar un enlace simbólico, de lo contrario podrían surgir todo tipo de estragos. por ejemplo, el binario oficial de Python modificará su ~./bash_profilemodo que python3y pip3no tiene sentido ya para preparar ...

En mi caso, ahora hice un enlace simbólico de la versión homebrew (siguiendo las líneas de la discusión en la respuesta proporcionada por @Evenfire):

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

QGIS3 luego se quejó de que faltaban ciertos paquetes de Python, que se pueden instalar con pip3, por ejemplo

pip3 install owslib PyYaml psycopg2 jinja2 pygments plotly

También podría quejarse gdal, en mi caso simplemente usé brew:

brew install gdal

ORIGINAL

(¡Este método no se recomienda para usuarios de cerveza!)

También tengo python3 instalado a través de brew y me encuentro con la misma dificultad.

Lo que parece funcionar es instalar los binarios oficiales de Python que se instalan en /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.

Por prueba y error, esto debe hacerse antes de 1 Install GDAL Complete.pkgque se instale el paquete, que de lo contrario se instala contra el python incorrecto y QGIS 3 se quejará de la falta de paquetes de python.

Aquellos con tiempo para experimentar posiblemente podrían probar enlaces simbólicos para moverse directamente usando el brebaje (u otro) python3.

Songololo
fuente
¡Gracias! La instalación de python justo antes del "1 Instalar GDAL Complete.pkg" me ayudó y resolvió el error "módulo osgeo no encontrado".
Javier Fajardo
¿Tienes GDAL también instalado homebrew? Creé el enlace simbólico pythonpero el instalador me pregunta con GDAL2.2qué me he instalado homebrew.
Duccio A
En mi caso no lo he gdalinstalado con homebrew. Tengo entendido que QGIS depende específicamente de la versión de KyngChaos (¡desafortunadamente!). Por lo tanto, puede ser necesario instalar el gdal provisto con QGIS y luego podría funcionar.
songololo
1
¡Noté que la instalación de los binarios para el nuevo python3.7 no es compatible con el instalador más reciente de QGIS! python3.6.6 es necesario y se puede descargar desde el enlace que proporcionó en esta respuesta.
Javier Fajardo
2
Esta podría ser una pregunta muy estúpida, pero una vez que haya instalado qgis a través de homebrew, ¿cómo lo ejecuta? Lo descubrí: qgis3es el comando.
Juan Francisco Saldarriaga
28

Si ha instalado Python3 con Homebrew , puede usar enlaces simbólicos para cumplir con las necesidades del instalador (como lo sugiere @shongololo).

Parece, el instalador necesita python3 instalado en (gracias @shongololo): /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.

(Instale python3 usando Homebrew para seguir esta parte)

Encuentra el Cellardirectorio en tu máquina. El mío es en: /usr/local/Cellar. Luego busque este directorio: /usr/local/Cellar/python3/3.x.y_z/Frameworks/Python.framework(donde 3.x.y_zestá la versión de python3 que desea usar, para mí es 3.6.4_2). Este es el directorio que queremos que encuentre el instalador. Necesitamos vincularnos a este directorio desde el directorio que está mirando el instalador haciendo un Enlace Simbólico.

Usar el 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.frameworkhará el truco. Ciertamente lo necesitas sudo.

Esto me ha funcionado.

(El "Cellar" es un lugar al que van todos sus "barriles". Homebrew instala paquetes en su propio directorio (en el Cellar) y luego enlaza sus archivos a / usr / local /. [Del blog de Ryan Kulla ])

Evenfire
fuente
Gracias por esta información Ya lo arreglé con el instalador "predeterminado". Como no necesito Python para nada más, eso funcionará para mí. En general, prefiero usar Homebrew por consistencia. Y Apple tiene v2 instalado por defecto. ¿Fueron las compensaciones entre el uso de los dos instaladores (Homebrew y uno del sitio de Python)? Supongo que Homebrew mantendrá Python actualizado más fácilmente. Y puedes desinstalarlo fácilmente. No tengo idea de cómo hacerlo con el otro método de instalación. Me hizo pensar en volver a la versión Homebrew ya que sé cómo administrarla.
Greg
@greg homebrew es más fácil de administrar, por ejemplo, desinstalaciones. También mantiene sus diversas interdependencias de paquetes interconectadas bastante bien.
songololo
1
@evenfire gracias por la buena explicación. brew info pythones una forma práctica de encontrar rápidamente rutas a las instalaciones existentes de python elaboradas
songololo
44
Una advertencia que recientemente cambió su valor predeterminado pythona v3, por lo que para aquellos que han actualizado / actualizado recientemente su homebrew, las rutas anteriores contendrían pythony nopython3
songololo
44
¿Cómo puedo conectar el archivo de marco con anaconda python? (No puedo encontrar python.framework en anaconda dirs)
natsuapo
5

Seguí el enlace que venía con el instalador de QGIS a https://www.python.org/downloads/ e instalé python3 de esa manera. El instalador de QGIS estaba contento.

Esto parece estar en contradicción con los comentarios aquí:

"Debido a que QGIS vincula la biblioteca de Python, debe instalar Python.org Python 3.6. No puede sustituir otra instalación de Python 3. Lo siento, así son las cosas".

Publicado en http://www.kyngchaos.com/blog/2018/20180315_qgis_3_must_use_python.org_python_3 . Si supiera cómo contactar a William Kyngesbury, lo haría. Sin embargo, está realizando un gran servicio.

Greg
fuente
4

Otra versión de pyenvsymlinking, que se usa brewsolo para dependencias.

La ubicación recomendada para instalar pyenves ~/.pyenv( $HOME/.pyenv), pero podría ser cualquier ubicación.

  1. pyenvrepositorio de clones (tal vez adaptarse ~/.pyenva /path/to/pyenv)

    git clone https://github.com/pyenv/pyenv.git ~/.pyenv
  2. configuración pyenven ~/.bash_profile(tal vez adaptarse $HOME/.pyenva /path/to/pyenv, tenga en cuenta, que la tercera línea debe mantenerse la final de .bash_profile, incluso después de que las futuras actualizaciones)

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

    exec "$SHELL"
  4. instalar dependencias readliney xzla manera fácil conbrew

    brew install readline xz
  5. instalar Python 3.6.x que contiene Python.framework(tal vez adaptar el número de versión)

    env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 3.6.8
  6. siempre repita después de agregar una nueva versión de Python a pyenv

    pyenv rehash
  7. enlace simbólico Python.framework

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

Ahora el instalador QGIS 3.6.0 de qgis.org debería funcionar bien, además macOS está bien preparado para múltiples versiones de Python, jugando muy bien con Python del sistema.

sin pila
fuente
Esto funcionó mejor para mí que la instalación de homebrew, que no estaba contento con las dependencias existentes que había instalado.
MattyB
3

Una versión que usa pyenvy 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
fuente
2
debería ser suficiente solo ejecutar las primeras 2 líneas y luegoln -s ~/.pyenv/versions/3.6.5/Python.framework /Library/Frameworks/Python.framework
Alex Markov
0

Me enfrenté al mismo problema al instalar QGIS en mac.
Falló, aunque traté de vincularlo con otras python instaladas por anaconda, etc.
La forma en que resolví el problema: descargué la versión de python relacionada en python.org e instálala.

Chokurei
fuente