标签: python-sip

在 PyQT 和 Boost.Python 之间共享小部件

我想知道是否可以在 PyQt 和 Boost.Python 之间共享小部件。

我将在我的使用 Qt 的应用程序中嵌入一个 Python 解释器。我希望我的应用程序的用户能够将他们自己的 UI 小部件嵌入到用 C++ 编程并通过 Boost.Python 公开的 UI 小部件中。

这是可能的,人们将如何去做?

python qt pyqt boost-python python-sip

5
推荐指数
1
解决办法
1113
查看次数

Python方法解析之谜

我无法弄清楚为什么这个程序失败了.

#!/usr/bin/env python
from __future__ import division, print_function
from future_builtins import *
import types
import libui as ui
from PyQt4 import QtCore
import sip

p = ui.QPoint()
q = QtCore.QPoint()

def _q_getattr(self, attr):
    print("get %s" % attr)
    value = getattr(sip.wrapinstance(self.myself(), QtCore.QPoint), attr)
    print("get2 %s returned %s" % (attr, value))
    return value

p.__getattr__ = types.MethodType(_q_getattr, p)

print(p.__getattr__('x')())  # Works!  Prints "0"
print(p.x())  # AttributeError: 'QPoint' object has no attribute 'x'
Run Code Online (Sandbox Code Playgroud)

我使用Boost.Python来创建libui,它暴露了类QPoint.我包括PyQt4,它有一个sip暴露的QPoint.我正在尝试完成两种类型之间的映射.

我检查过这p是一个新式的课程,为什么不__getattr__被要求p.x()

python pyqt boost-python python-sip

5
推荐指数
1
解决办法
1148
查看次数

为什么SIP和PyQt4不能相处

我在Windows中完成了大部分工作,并且设置了一个像我喜欢的好的python27.我最近安装了virtualBox并在其上运行了一个Ubuntu机器,我正在尝试安装PyQt4.我从apt-get安装并更新了所有内容,但是,当我尝试从PyQt4导入时

from PyQt4 import QtCore
Run Code Online (Sandbox Code Playgroud)

我得到一个runtimeError:

RuntimeError: the sip module implements API v9.0 to v9.1 but the PyQt4.QtCore module requires API v8.1
Run Code Online (Sandbox Code Playgroud)

我确信这是一个问题,我将在Windows中拥有知识库,但我的Linux缺乏经验在这里变得更好,我安装了错误的东西.这个错误让我相信我有一个对我的PyQt版本来说过于花哨的SIP版本......任何人都有这方面的经验吗?

编辑:如果我收到错误后再次尝试导入它似乎工作.这样做我获得了版本信息.

cfg.pyqt_version_str
Out[9]: '4.9.3'
cfg.sip_version_str
Out[10]: '4.14.3-snapshot-55188026fe6d'
Run Code Online (Sandbox Code Playgroud)

不确定快照业务的全部内容.

python pyqt4 python-sip

5
推荐指数
1
解决办法
1万
查看次数

python readthedocs如何满足sip(或pyqt)的要求

我想在readthedocs.org中发布我的项目https://bitbucket.org/oaltun/opn的文档.

构建失败.日志https://readthedocs.org/builds/opn/2247789/中显示了不同的错误 ,但第一个是"没有名为sip的模块".

pyqt需要sip,这是项目所需要的.

通常在这种情况下,据我所知,你会在setup.py中添加缺少的包,并检查readthedocs.org选项以创建virtualenv.我选中这个框来创建一个virtualenv.但是我不能在setup.py中添加sip或pyqt.

问题是pyqt&sip不使用setuptools,因此无法通过pip安装.所以你不能将它们添加到setup.py(即使在我的本地机器上也会失败).

在我的本地环境中,我使用(ana)conda安装pyqt.但我认为readthedocs.org使用pip来调用依赖项.

那么,我怎么能让我的virtualenv包括sip?

python pip pyqt python-sip read-the-docs

5
推荐指数
1
解决办法
381
查看次数

RuntimeError:sip模块将API v11.0实现为v11.2,但PyQt5.QtCore模块需要API v11.3

最近,我在系统上安装了PyQt4,并开始执行一些基本任务(课程工作),效果很好。

然后,几天后,我尝试与一起工作matplotlib

当我尝试时import matplotlib.pyplot as plt,出现以下错误:

Traceback (most recent call last):
  File "C:\Users\user\Desktop\Confusion.py", line 1, in <module>
    import matplotlib.pyplot as plt
  File "C:\Program Files\Anaconda3\lib\site-packages\matplotlib\pyplot.py", line 114, in <module>
    _backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
  File "C:\Program Files\Anaconda3\lib\site-packages\matplotlib\backends\__init__.py", line 32, in pylab_setup
    globals(),locals(),[backend_name],0)
  File "C:\Program Files\Anaconda3\lib\site-packages\matplotlib\backends\backend_qt5agg.py", line 16, in <module>
    from .backend_qt5 import QtCore
  File "C:\Program Files\Anaconda3\lib\site-packages\matplotlib\backends\backend_qt5.py", line 27, in <module>
    import matplotlib.backends.qt_editor.figureoptions as figureoptions
  File "C:\Program Files\Anaconda3\lib\site-packages\matplotlib\backends\qt_editor\figureoptions.py", line 17, in <module>
    import matplotlib.backends.qt_editor.formlayout as formlayout
  File …
Run Code Online (Sandbox Code Playgroud)

python matplotlib python-sip anaconda pyqt5

5
推荐指数
2
解决办法
8745
查看次数

VirtualEnv未正确设置路径,无法使用已安装的模块

简短版本:我如何让PyQt4的configure.py使用Virtual Env中安装的SIP版本?

长版本:我知道这个问题的变化在这里被问过一百万次,但我似乎无法找到答案.我正在尝试在虚拟环境(VE)中安装SIP和PyQt4.我无法将其安装到主系统,因为它是一台工作计算机.我们有一个旧版本的PyQt所以我不能只是从网站包复制.

我在我的VE中安装了SIP(configure.py --incdir,make,make install)但是当我在PyQt4上运行configure时,我得到错误:错误:此版本的PyQt需要SIP v4.19.0或更高版本.我安装了4.19.2版.当运行sipconfig时,它告诉我它仍在使用系统版本,即使激活了VE.如何告诉configure.py PyQt使用VE中安装的软件包?

谢谢大家!

编辑:从它的外观来看,似乎我的VE没有从正确的位置拉蟒蛇库,即使VE被激活.我添加了一行来激活将site-packages和bin dirs的路径和site-packages附加到pythonpath而没有成功.它仍然没有找到正确的库.

python virtualenv pyqt4 python-sip

5
推荐指数
1
解决办法
456
查看次数

PyQt5 错误“PyCapsule_GetPointer 调用的名称不正确”

我刚刚在 OpenSUSE 飞跃上使用 python 3.6.3 在 pyenv virtualenv 中构建了 PyQt5,构建进行得很顺利,但是当我导入时

>>> from PyQt5 import QtCore
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: PyCapsule_GetPointer called with incorrect name
Run Code Online (Sandbox Code Playgroud)

我可以导入PyQt5,但是我不能使用它下面的模块

>>> import PyQt5
>>> PyQt5.QtCore
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'PyQt5' has no attribute 'QtCore'
Run Code Online (Sandbox Code Playgroud)

我在这里读到原因可能是系统上的另一个 sip,例如 PyQt4 安装,我尝试从包管理器中卸载 PyQt4,但没有帮助。

我不知道该怎么办,有什么想法吗?

如果我安装 python3-qt5 包并使用系统 python 它工作

编辑:

我在 OpenSUSE Leap 15 上的另一台机器上使用 PyQt4 遇到了同样的问题,解决方案是配置 sip:

python configure.py …
Run Code Online (Sandbox Code Playgroud)

linux python-3.x python-sip pyqt5

5
推荐指数
1
解决办法
1万
查看次数

如何在Mac OS X上强制使用64位python?

使用--arch x86_64选项编译sip时出现以下错误.

prosseek:siplib smcho$ python -c 'import sip; print sip'
Traceback (most recent call last):
  File "", line 1, in 
ImportError: dlopen(./sip.so, 2): no suitable image found.  Did find:
        ./sip.so: mach-o, but wrong architecture

我发现预构建的Mac OS X python(雪豹)是通用的,它没有得到64位库.我猜它在32位模式下运行.

file /usr/bin/python 
/usr/bin/python: Mach-O universal binary with 3 architectures
/usr/bin/python (for architecture x86_64):      Mach-O 64-bit executable x86_64
/usr/bin/python (for architecture i386):        Mach-O executable i386
/usr/bin/python (for architecture ppc7400):     Mach-O executable ppc
prosseek:siplib smcho$ file sip.so
sip.so: Mach-O 64-bit bundle x86_64

如何强制python在64位模式下运行?当我在Textmate上运行相同的代码时,没有问题.所以,我认为Textmate无论如何都应该在64位模式下运行.

添加 …

python macos 64-bit python-sip

4
推荐指数
1
解决办法
5684
查看次数

PyQt5 安装错误(QtCore Module Error: Unable to create the C++ code)

我正在尝试在我的 PC 上安装 PyQt5 以访问 QtDesigner。

我在安装过程中遇到以下错误:

$ python3 configure.py --qmake=/usr/local/Cellar/qt/5.10.1/bin/qmake --sip=/usr/local/Cellar/sip/4.19.8_2/bin/sip
Querying qmake about your Qt installation...
Determining the details of your Qt installation...
This is the GPL version of PyQt 5.7 (licensed under the GNU General Public License) for Python 3.6.3 on darwin.

......
DBus v1 does not seem to be installed.
Qt v5.10.1 is being used.
The qmake executable is /usr/local/Cellar/qt/5.10.1/bin/qmake.
Qt is built as a shared library.
SIP 4.19.8 is being used.
The sip executable is …
Run Code Online (Sandbox Code Playgroud)

python macos pyqt python-sip pyqt5

4
推荐指数
1
解决办法
3832
查看次数

pip3 install PyQt5 --user 失败

尝试通过 pip3 安装 PyQt5 时出现错误。自动消息要我添加更多细节,但我没有。所有细节都在代码中。

?  ~ pip3 install PyQt5 --user 
Collecting PyQt5
  Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7f2c97cfeb50>: Failed to establish a new connection: [Er
rno -2] Name or service not known')': /simple/pyqt5/
  Using cached https://files.pythonhosted.org/packages/3a/fb/eb51731f2dc7c22d8e1a63ba88fb702727b324c6352183a32f27f73b8116/PyQt5-5.14.1.tar.gz
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... error
    Complete output from command /usr/bin/python3 /usr/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py prepare_metadata_for_build_wheel /tmp/tmp3yjy_ooq:
    Traceback (most recent call last):
      File "/usr/lib/python3.7/site-packages/pip/_vendor/pep517/_in_process.py", line 64, in …
Run Code Online (Sandbox Code Playgroud)

python pip pyqt python-sip pyqt5

4
推荐指数
1
解决办法
9307
查看次数