NEW UPDATE
QGIS3 can now be installed from osgeo
's homebrew tap, which saves mucking about with python symlinks... i.e.
brew tap osgeo/osgeo4mac
brew install qgis
Then type qgis
in the terminal to launch, then pin the dock menu icon to simplify launching in future.
Note that the installation console logs will also provide an example for how to symlink qgis
to your applications directory.
Due to some current issues, it may be necessary to run ulimit -n 1024
from terminal as a workaround for the Too many open files @ rb_sysopen - /usr/local/var/homebrew/locks/xmlto.formula.lock
error. You may also need to run brew install qgis
more than once for all packages to find each other.
OLD UPDATE
(This method requires updating symlinks when versions change... i.e. not ideal)
For those who use homebrew, it is probably better to just use a symlink, otherwise all kinds of havoc could emerge. e.g. the official python binary will modify your ~./bash_profile
so that python3
and pip3
no longer point to brew...
In my case I've now symlinked the homebrew version (along the lines of the discussion in the answer provided by @Evenfire):
sudo ln -s /usr/local/Cellar/python/3.6.5/Frameworks/Python.framework /Library/Frameworks/Python.framework
QGIS3 then complained that certain python packages were missing, which can be installed with pip3, e.g.
pip3 install owslib PyYaml psycopg2 jinja2 pygments plotly
It might also complain about gdal
, in my case I simply used brew:
brew install gdal
ORIGINAL
(This method is not recommended for brew users!)
I've also got python3 installed via brew and am running into the same difficulty.
What seems to work is to install the official python binaries which install to /Library/Frameworks/Python.framework/Versions/3.6/bin/python3
.
From trial and error, this has to be done before the 1 Install GDAL Complete.pkg
package is installed, which otherwise installs against the wrong python and QGIS 3 will complain about missing python packages.
Those with time to experiment could conceivably try symlinks to get around directly using the brew (or other) python3.