在MacOS Mojave上安装Python 3.6以供QGIS使用

7
我正在尝试在Mac OS Mojave上安装QGIS 3.4.1。QGIS安装文件为pkg文件,需要使用特定的Python 3.6版本(不支持3.7),而Mac内置的是2.7版本,homebrew则安装了带有3.7.1版本的python3。
对于Python开发者们,最佳的安装Python 3.6和QGIS的方法是什么?Pyenv、venv、pipenv还是virtualenv?我如何让QGIS始终找到Python 3.6 - 在安装及后面运行时都能找到?
我的目的是在Python 3.6上运行QGIS,同时不要更改默认的Mac 2.7 Python或homebrew python3。

问题出在哪里?你的问题是关于安装Python(标题)还是QGIS(帖子本身)? - ForceBru
我的问题是关于安装QGIS,这需要安装Python 3.6 - 因此,特别是以一种不会破坏当前Python安装并且还能让我运行QGIS的方式安装Python 3.6。 - kozyr
1个回答

10

QGIS文档中所述:

当前的QGIS包使用python.org Python 3.6,至少版本为3.6.5,“macosx10.9”构建 - 不支持其他发行版。

因此,您可以安装从python.org网站下载的Python 3.6。请按照以下简单步骤操作:

先决条件

请确认已安装Xcode开发人员工具:

xcode-select -p

应该返回

/Library/Developer/CommandLineTools

如果没有,运行此命令

xcode-select --install

Python安装

前往https://www.python.org/downloads/mac-osx/下载Python 3.6 macOS 64位安装程序(目前版本为3.6.7)。这是一个pkg安装程序,您可以像安装其他软件一样运行它。如果您不想替换从brew安装的Python 3.7,请确保此Python发行版未添加到系统$PATH中。默认情况下,它将安装在/Library/Frameworks/Python.framework/Versions/3.6下。

QGIS安装

现在您已经安装了正确的Python,下载QGIS软件包。

按正确的顺序安装pkg

运行QGIS并打开“首选项”。进入“系统” > “环境”。 勾选“使用自定义变量”,点击绿色的“加号”按钮。在“应用”下拉菜单中选择“Prepend”,将PATH设置为变量名,并粘贴以下内容:

/Library/Frameworks/Python.framework/Versions/3.6/bin:

设置Value的值。这将帮助QGIS定位正确的python解释器。单击确定,重新启动QGIS,问题应该就解决了。


我不想修改我的 python3 或 python 版本来运行任意的 Python 程序 - 所以我特别想要在 QGIS 中运行 Python 3.6,并保留 python3 作为最新的 Python 3,python 作为最新的 Python 2.7。 - kozyr
好的,我误解了你的问题。我已经相应地编辑了我的答案。 - Antwane
我想让我进一步澄清一下 - 我确切地希望使用Python 3.7作为python3,而Python 2.7作为python。所以QGIS需要通过某种虚拟环境或其他方式来运行Python 3.6。 - kozyr
修改了答案 - Antwane
1
对于任何将要阅读这篇文章的人,我还有一个评论 - QGIS忽略系统路径中的Python,并在/Library/Frameworks下寻找Python - 直接安装Python 3.6或在那里创建符号链接可以解决这个问题。 - kozyr
说句实话,我正在使用pyenv,并安装和配置了3.6.7(全局),但它却无法正常工作。我尝试使用符号链接,但没有成功。安装官方的3.6.7版本解决了问题,而且什么都没出错...目前为止。 - Shane

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接