1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
From e11f7e04b5fda1aa57d6b7a672375ff4b284abb2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sergio=20Conde=20G=C3=B3mez?= <skgsergio@gmail.com>
Date: Thu, 23 Apr 2015 12:43:46 +0200
Subject: [PATCH] Fix cmake ImportError: No module named pyqtconfig
---
cmake/Modules/FindPyQt.py | 55 +++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 53 insertions(+), 2 deletions(-)
diff --git a/cmake/Modules/FindPyQt.py b/cmake/Modules/FindPyQt.py
index 5d2f951..96bbbae 100644
--- a/cmake/Modules/FindPyQt.py
+++ b/cmake/Modules/FindPyQt.py
@@ -1,11 +1,60 @@
+# -*- coding: utf-8 -*-
+#
+# Copyright (c) 2007, Simon Edwards <simon@simonzone.com>
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# * Neither the name of the Simon Edwards <simon@simonzone.com> nor the
+# names of its contributors may be used to endorse or promote products
+# derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY Simon Edwards <simon@simonzone.com> ''AS IS'' AND ANY
+# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL Simon Edwards <simon@simonzone.com> BE LIABLE FOR ANY
+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# FindPyQt.py
# Copyright (c) 2007, Simon Edwards <simon@simonzone.com>
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-import PyQt4.pyqtconfig
+try:
+ import PyQt4.pyqtconfig
+ pyqtcfg = PyQt4.pyqtconfig.Configuration()
+except ImportError:
+ import PyQt4.QtCore
+ import sipconfig # won't work for SIP v5
+ import os.path
+ cfg = sipconfig.Configuration()
+ sip_dir = cfg.default_sip_dir
+ for p in (os.path.join(sip_dir, "PyQt4"), sip_dir):
+ if os.path.exists(os.path.join(p, "QtCore", "QtCoremod.sip")):
+ sip_dir = p
+ break
+ cfg = {
+ 'pyqt_version': PyQt4.QtCore.PYQT_VERSION,
+ 'pyqt_version_str': PyQt4.QtCore.PYQT_VERSION_STR,
+ 'pyqt_sip_flags': PyQt4.QtCore.PYQT_CONFIGURATION['sip_flags'],
+ 'pyqt_mod_dir': cfg.default_mod_dir,
+ 'pyqt_sip_dir': sip_dir,
+ 'pyqt_bin_dir': cfg.default_bin_dir,
+ }
+ pyqtcfg = sipconfig.Configuration([cfg])
-pyqtcfg = PyQt4.pyqtconfig.Configuration()
print("pyqt_version:%06.0x" % pyqtcfg.pyqt_version)
+print("pyqt_version_num:%d" % pyqtcfg.pyqt_version)
print("pyqt_version_str:%s" % pyqtcfg.pyqt_version_str)
pyqt_version_tag = ""
@@ -20,5 +69,7 @@
in_t = False
print("pyqt_version_tag:%s" % pyqt_version_tag)
+print("pyqt_mod_dir:%s" % pyqtcfg.pyqt_mod_dir)
print("pyqt_sip_dir:%s" % pyqtcfg.pyqt_sip_dir)
print("pyqt_sip_flags:%s" % pyqtcfg.pyqt_sip_flags)
+print("pyqt_bin_dir:%s" % pyqtcfg.pyqt_bin_dir)
|