2

我已经从 Linux Mint 上的源代码重新安装了 python3.2.2 解释器,以在 curses 中添加 unicode 支持,并发现 PyQt4 库没有导入。我尝试重新安装它,但遇到了与此处相同的问题:PyQt4 for Python 3.2.2 failed to install on Linux Mint 12。所以我遵循了BlaXpirit的答案并安装了 PySide,但它也没有导入。然后我在 未添加到 PYTHONPATH 变量的/usr/lib/python3/dist-packages中找到了它们。我添加了该目录并收到了下一个:

In [1]: import PySide

没关系,但是:

In [2]: import PySide.QtCore
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-3-1c10ffe6e7d7> in <module>()
----> 1 import PySide.QtCore

ImportError: No module named QtCore

和 PyQt4:

In [3]: import PyQt4
In [4]: import PyQt4.QtCore
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-5-e7e95ffb1113> in <module>()
----> 1 import PyQt4.QtCore

ImportError: /usr/lib/python3/dist-packages/PyQt4/QtCore.so: undefined symbol:       PyUnicodeUCS4_AsLatin1String

在 PySide 目录中的内容是:

-rw-r--r-- 1 root root      181 2012-04-23 23:58 __init__.py
-rw-r--r-- 1 root root   783048 2012-04-24 02:16 phonon.cpython-32mu.so
drwxr-xr-x 2 root root     4096 2012-07-17 09:34 __pycache__
-rw-r--r-- 1 root root  2606568 2012-04-24 02:16 QtCore.cpython-32mu.so
-rw-r--r-- 1 root root   379188 2012-04-24 02:16 QtDeclarative.cpython-32mu.so
-rw-r--r-- 1 root root 11298296 2012-04-24 02:16 QtGui.cpython-32mu.so
-rw-r--r-- 1 root root   377804 2012-04-24 02:16 QtHelp.cpython-32mu.so
-rw-r--r-- 1 root root   921720 2012-04-24 02:16 QtNetwork.cpython-32mu.so
-rw-r--r-- 1 root root   370024 2012-04-24 02:16 QtOpenGL.cpython-32mu.so
-rw-r--r-- 1 root root   266296 2012-04-24 02:16 QtScript.cpython-32mu.so
-rw-r--r-- 1 root root    47608 2012-04-24 02:16 QtScriptTools.cpython-32mu.so
-rw-r--r-- 1 root root   481964 2012-04-24 02:16 QtSql.cpython-32mu.so
-rw-r--r-- 1 root root   152524 2012-04-24 02:16 QtSvg.cpython-32mu.so
-rw-r--r-- 1 root root    93592 2012-04-24 02:16 QtTest.cpython-32mu.so
-rw-r--r-- 1 root root   770644 2012-04-24 02:16 QtUiTools.cpython-32mu.so
-rw-r--r-- 1 root root   570536 2012-04-24 02:16 QtWebKit.cpython-32mu.so
-rw-r--r-- 1 root root   443944 2012-04-24 02:16 QtXml.cpython-32mu.so
-rw-r--r-- 1 root root   236552 2012-04-24 02:16 QtXmlPatterns.cpython-32mu.so

在 PyQt4 中:

-rw-r--r-- 1 root root    1111 2012-07-02 13:39 __init__.py
-rw-r--r-- 1 root root   13369 2012-07-02 13:39 pyqtconfig.py
-rwxr-xr-x 1 root root 2267672 2012-07-02 13:39 QtCore.so
-rwxr-xr-x 1 root root  226468 2012-07-02 13:39 QtDeclarative.so
-rwxr-xr-x 1 root root  302208 2012-07-02 13:39 QtDesigner.so
-rwxr-xr-x 1 root root 7362040 2012-07-02 13:39 QtGui.so
-rwxr-xr-x 1 root root  639832 2012-07-02 13:39 QtNetwork.so
-rwxr-xr-x 1 root root  248712 2012-07-02 13:39 QtOpenGL.so
-rwxr-xr-x 1 root root  187824 2012-07-02 13:39 QtScript.so
-rwxr-xr-x 1 root root   19964 2012-07-02 13:39 QtScriptTools.so
-rwxr-xr-x 1 root root    5508 2012-07-02 13:39 Qt.so
-rwxr-xr-x 1 root root  300872 2012-07-02 13:39 QtSql.so
-rwxr-xr-x 1 root root   85296 2012-07-02 13:39 QtSvg.so
-rwxr-xr-x 1 root root   28932 2012-07-02 13:39 QtTest.so
-rwxr-xr-x 1 root root  404432 2012-07-02 13:39 QtWebKit.so
-rwxr-xr-x 1 root root  158112 2012-07-02 13:39 QtXmlPatterns.so
-rwxr-xr-x 1 root root  301924 2012-07-02 13:39 QtXml.so
drwxr-xr-x 7 root root    4096 2012-07-02 13:39 uic

我已经从存储库和 python.org、源代码和二进制文件重新安装了 python3 几次,现在我在/usr/bin中有 1 个可执行 python3.2mu,在/ usr/ 中有 3 个(python3、python3.2、python3.2m)本地/bin
请帮帮我!

4

1 回答 1

2

通过更改 pyatomic.h 中的 65 行解决了 PyQt4 的问题:

 _Py_ANNOTATE_HAPPENS_BEFORE(address);

_Py_ANNOTATE_HAPPENS_BEFORE(address) (void)address;
于 2012-07-21T13:46:27.900 回答