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
commit31496b588c79bf567d02bbfc2879cfb84c780f04 (patch)
treeb5168ba890e55938acbe36138f4238fb12c24210
parenta71a3a3c1e8ce0190af95476f87b2b43c94c1372 (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);
}