aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCristián Maureira-Fredes <cristian.maureira-fredes@qt.io>2021-05-10 17:00:53 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2021-05-11 11:43:48 +0000
commit3cb925bc0f0dcc1c3adb0d85ba15c2abf5b8c0e8 (patch)
treede730242f26285d5185ae3607444dd3a4f7dc896
parent95ab0000b2e8582ab7dec3826f5ef2ef110ba191 (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.cpp23
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);
}