diff options
author | Cristián Maureira-Fredes <cristian.maureira-fredes@qt.io> | 2021-05-10 17:00:53 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2021-05-11 11:43:48 +0000 |
commit | 31496b588c79bf567d02bbfc2879cfb84c780f04 (patch) | |
tree | b5168ba890e55938acbe36138f4238fb12c24210 | |
parent | a71a3a3c1e8ce0190af95476f87b2b43c94c1372 (diff) |
Fix designer plugin for macOS
Adding the site-packages path for standalone builds,
similar to the issue we had for Windows and 3.8
Change-Id: Iff4f2c7504d579ca7f00df1c9e07f62a9dd1f1e3
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
(cherry picked from commit 835663f6f43525d67c86ac1cc4dd22f7bd845e51)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | sources/pyside6/plugins/designer/designercustomwidgets.cpp | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/sources/pyside6/plugins/designer/designercustomwidgets.cpp b/sources/pyside6/plugins/designer/designercustomwidgets.cpp index 65074c546..dd758bb98 100644 --- a/sources/pyside6/plugins/designer/designercustomwidgets.cpp +++ b/sources/pyside6/plugins/designer/designercustomwidgets.cpp @@ -162,7 +162,10 @@ static void initVirtualEnvironment() static const char virtualEnvVar[] = "VIRTUAL_ENV"; // As of Python 3.8/Windows, Python is no longer able to run stand-alone in // a virtualenv due to missing libraries. Add the path to the modules - // instead. + // instead. macOS seems to be showing the same issues. + + const auto os = QOperatingSystemVersion::currentType(); + bool ok; int majorVersion = qEnvironmentVariableIntValue("PY_MAJOR_VERSION", &ok); int minorVersion = qEnvironmentVariableIntValue("PY_MINOR_VERSION", &ok); @@ -172,7 +175,7 @@ static void initVirtualEnvironment() } if (!qEnvironmentVariableIsSet(virtualEnvVar) - || QOperatingSystemVersion::currentType() != QOperatingSystemVersion::Windows + || (os != QOperatingSystemVersion::MacOS && os != QOperatingSystemVersion::Windows) || (majorVersion == 3 && minorVersion < 8)) { return; } @@ -181,7 +184,21 @@ static void initVirtualEnvironment() QByteArray pythonPath = qgetenv(pythonPathVar); if (!pythonPath.isEmpty()) pythonPath.append(QDir::listSeparator().toLatin1()); - pythonPath.append(virtualEnvPath + R"(\Lib\site-packages)"); + + switch (os) { + case QOperatingSystemVersion::Windows: + pythonPath.append(virtualEnvPath + R"(\Lib\site-packages)"); + break; + case QOperatingSystemVersion::MacOS: + pythonPath.append(virtualEnvPath + QByteArrayLiteral("/lib/python") + + QByteArray::number(majorVersion) + '.' + + QByteArray::number(minorVersion) + + QByteArrayLiteral("/site-packages")); + break; + default: + break; + } + qputenv(pythonPathVar, pythonPath); } |