Instalando o QGIS3 no Mac?

30

O instalador do Kyngchaos não está encontrando python3. Eu instalei o python3 usando o HomeBrew e não está localizado em/usr/local/Cellar/python/3.6.4_4/Frameworks/Python.framework/Versions/3.6/bin/python3.6

Como digo ao instalador do QGIS para reconhecer que o python3 está instalado?

Eu já havia instalado o GDAL usando o HomeBrew, então tentei reinstalar (ou instalar outra versão sempre que possível) achando que poderia ajudar com a situação, mas o instalador do QGIS3 ainda não consegue encontrar o python 3.

O erro de instalação é um pop-up que aparece assim que o instalador é aberto e diz "python3 QGIS requer Python 3.6".

Para usuários que não são Mac, a maioria parece confiar no Kyngchaos para fornecer um instalador para o QGIS e ele acabou de lançar o instalador para a v3.

Atualização: respondeu minhas próprias perguntas abaixo. Não use o HomeBrew, a menos que você saiba o suficiente para apontar o instalador do QGIS / QGIS para a versão correta (o que eu certamente não uso), mas use a versão do instalador python3 vinculada no Leia-me.

Greg
fonte
Onde estão os instaladores do Kyngchaos? Não consigo encontrá-los em lugar nenhum.
Alex Leith
Desde que ele não actualiza o link, eu imaginei que fosse kyngchaos.com/files/software/qgis/QGIS-3.0.0-1.dmg
Greg
Ainda não foi promovido na página dele, não é?
21818 Alex Leith
2
"QGIS 2.18.15-4" é repetido duas vezes em kyngchaos.com/software/qgis e o primeiro deve ser "QGIS-3.0.0-1". Eu acho que é um erro de copiar e colar, em outras palavras, ele copiou o link antigo etc e esqueceu de atualizar. Como eu acho isso - não porque eu já fiz isso!
11558 Greg
4
Hoje (12 de março de 2019), o link em kyngchaos.com/software/qgis é atualizado.
Greg

Respostas:

35

NOVA ATUALIZAÇÃO

Agora, o QGIS3 pode ser instalado a partir osgeoda torneira de homebrew, o que evita o uso de links simbólicos python ...

brew tap osgeo/osgeo4mac
brew install qgis

Em seguida, digite qgiso terminal para iniciar e, em seguida, fixe o ícone do menu dock para simplificar o lançamento no futuro.

Observe que os logs do console de instalação também fornecerão um exemplo de como vincular o link qgisao diretório de aplicativos.

Devido a alguns problemas atuais, pode ser necessário executar o ulimit -n 1024terminal como uma solução alternativa para o Too many open files @ rb_sysopen - /usr/local/var/homebrew/locks/xmlto.formula.lockerro. Você também pode precisar executar brew install qgismais de uma vez para que todos os pacotes se encontrem.

ATUALIZAÇÃO ANTIGA

(Este método requer a atualização de links simbólicos quando as versões mudam ... ou seja, não é o ideal)

Para aqueles que usam homebrew, provavelmente é melhor usar apenas um link simbólico, caso contrário todos os tipos de estragos podem surgir. por exemplo, o binário oficial python vai modificar o seu ~./bash_profilemodo que python3e pip3nenhum ponto mais tempo para amadurecer ...

No meu caso, agora vinculei a versão homebrew (ao longo das linhas da discussão na resposta fornecida pelo @Evenfire):

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

O QGIS3 então reclamou que estavam faltando alguns pacotes python, que podem ser instalados com o pip3, por exemplo

pip3 install owslib PyYaml psycopg2 jinja2 pygments plotly

Também pode reclamar gdal, no meu caso, eu simplesmente usei brew:

brew install gdal

ORIGINAL

(Este método não é recomendado para usuários de cerveja!)

Eu também tenho o python3 instalado via brew e estou enfrentando a mesma dificuldade.

O que parece funcionar é instalar os binários oficiais do python que são instalados no /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.

Por tentativa e erro, isso deve ser feito antes da 1 Install GDAL Complete.pkginstalação do pacote, que, caso contrário, é instalado no python errado e o QGIS 3 se queixa de pacotes python ausentes.

Aqueles com tempo para experimentar poderiam concebivelmente tentar links simbólicos para se locomover diretamente usando o brew (ou outro) python3.

songololo
fonte
Obrigado! A instalação do python pouco antes do "1 Install GDAL Complete.pkg" fez o truque para mim e resolveu o erro "módulo osgeo não encontrado".
Javier Fajardo
Você também possui o GDAL homebrew? Eu criei o link simbólico para, pythonmas o instalador está perguntando para o GDAL2.2qual eu instalei homebrew.
Duccio A
No meu caso, não tenho gdalinstalado com homebrew. Meu entendimento é que o QGIS depende especificamente da versão do KyngChaos (infelizmente!). Portanto, pode ser necessário instalar o gdal fornecido com o QGIS e, em seguida, ele pode funcionar.
Songololo 18/05/19
11
Notei que a instalação de binários para o python3.7 mais recente não é suportada pelo instalador mais recente do QGIS! O python3.6.6 é necessário e pode ser baixado no link que você forneceu nesta resposta.
Javier Fajardo
2
Essa pode ser uma pergunta muito estúpida, mas depois de instalar o qgis via homebrew, como você o executa? Entendi: qgis3é o comando.
Juan Francisco Saldarriaga
28

Se você instalou o Python3 com o Homebrew , poderá usar links simbólicos para atender às necessidades do instalador (como sugerido por @shongololo).

Ao que parece, o instalador precisa Python3 instalado em (graças @shongololo): /Library/Frameworks/Python.framework/Versions/3.6/bin/python3.

(Instale o python3 usando o Homebrew para seguir esta parte)

Encontre o Cellardiretório em sua máquina. O meu é em: /usr/local/Cellar. Em seguida, encontre este diretório: /usr/local/Cellar/python3/3.x.y_z/Frameworks/Python.framework(onde 3.x.y_zestá a versão python3 que você deseja usar, para mim é 3.6.4_2). Este é o diretório que queremos que o instalador encontre. Precisamos vincular esse diretório a partir do diretório que o instalador está visualizando, criando um link simbólico.

Usar o 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á o truque. Você certamente precisa sudo.

Isso tem funcionado para mim.

(O "Cellar" é um local onde todos os seus "barris" vão. O Homebrew instala pacotes em seu próprio diretório (no Cellar) e depois vincula seus arquivos em / usr / local /. [Do blog de Ryan Kulla ])

Evenfire
fonte
Obrigado por esta informação. Eu já corrigi com o instalador "padrão". Desde que eu não preciso de Python para mais nada que funcione para mim. Em geral, prefiro usar o Homebrew para obter consistência. E a Apple tem a v2 instalada por padrão. Foram as vantagens entre usar os dois instaladores (Homebrew e um do site python)? Eu acho que o Homebrew manterá o python atualizado mais facilmente. E você pode desinstalar facilmente. Não faço ideia de como fazer isso com o outro método de instalação. Me fez pensar em voltar para a versão Homebrew desde que eu sei como gerenciá-la.
22418 Greg Greg
@greg homebrew é mais fácil, muito mais fácil de gerenciar, por exemplo, desinstalações. Ele também mantém suas várias interdependências de pacotes interconectadas bastante bem.
Songololo 14/03
11
@firefire obrigado pela boa explicação. brew info pythoné uma maneira útil para encontrar rapidamente os caminhos para instalações python fabricado existentes
Songololo
4
Um heads-up que cerveja mudou recentemente seu padrão pythonpara v3, então para aqueles que foram recentemente atualizado / atualizado seu homebrew, os caminhos acima conteria pythone nãopython3
Songololo
4
Como conectar o arquivo de estrutura com o anaconda python? (Não consigo encontrar python.framework nos diretórios anaconda) #
natsuapo 15/03
5

Segui o link que acompanha o instalador do QGIS para https://www.python.org/downloads/ e instalei o python3 dessa maneira. O instalador do QGIS ficou feliz.

Isso parece ser contradito pelos comentários aqui:

"Como o QGIS vincula a biblioteca python, você deve instalar o python.org python 3.6. Você não pode substituir outra instalação python 3. Desculpe, é assim que é."

Publicado em http://www.kyngchaos.com/blog/2018/20180315_qgis_3_must_use_python.org_python_3 . Se eu soubesse como entrar em contato com William Kyngesbury, eu o faria. Ele está realizando um ótimo serviço.

Greg
fonte
4

Outra versão pyenve ligação simbólica, usando brewapenas para dependências.

O local recomendado para instalação pyenvé ~/.pyenv( $HOME/.pyenv), mas pode ser qualquer local.

  1. pyenvrepositório de clones (talvez se adapte ~/.pyenva /path/to/pyenv)

    git clone https://github.com/pyenv/pyenv.git ~/.pyenv
  2. configuração pyenvem ~/.bash_profile(talvez se adaptar $HOME/.pyenva /path/to/pyenv, estar ciente de que a terceira linha deve ficar a uma final de .bash_profile, mesmo depois de futuras atualizações)

    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 dependências readlinee xza maneira mais fácil combrew

    brew install readline xz
  5. instale o Python 3.6.x contendo Python.framework(talvez adapte o número da versão)

    env PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install 3.6.8
  6. sempre refaça depois de adicionar uma nova versão do Python ao pyenv

    pyenv rehash
  7. ligação simbólica Python.framework

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

Agora, o instalador do QGIS 3.6.0 do qgis.org deve funcionar bem, e o macOS está bem preparado para várias versões do Python, funcionando bem com o Python do sistema.

sem pilha
fonte
Isso funcionou melhor para mim do que a instalação do homebrew, que estava muito descontente com as dependências existentes que eu havia instalado.
MattyB 16/07
3

Uma versão usando 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
# 
jmunsch
fonte
2
deve ser o suficiente apenas para rodar as primeiras 2 linhas e depois #ln -s ~/.pyenv/versions/3.6.5/Python.framework /Library/Frameworks/Python.framework
Alex Markov
0

Eu enfrentei o mesmo problema ao instalar o QGIS no mac.
Ele falhou, embora eu tenha tentado vinculá-lo com outro python instalado pelo anaconda etc.
A maneira como resolvi o problema: baixe a versão relacionada ao python em python.org e instale.

Chokurei
fonte