Shiboken使用CPython源代码为C++库生成绑定
项目描述
简介
Shiboken使用CPython源代码为C++库生成绑定。
Shiboken文档托管在http://pyside.github.io/docs/shiboken/。
Api Extractor文档托管在http://pyside.github.io/docs/api-extractor/。
安装
安装先决条件
安装最新的
pip
分发版:下载get-pip.py,并使用python
解释器运行。在Windows系统上安装Shiboken
要在Windows上安装Shiboken,您可以选择以下选项
使用pip安装wheel二进制包
pip install --use-wheel -U Shiboken
使用setuptools安装egg二进制包
easy_install -U Shiboken
在UNIX系统上安装Shiboken
我们不提供UNIX系统的二进制文件。请阅读“在UNIX系统上构建Shiboken”部分中的构建说明。
在Windows系统上构建Shiboken
安装先决条件
安装Python。
当针对Python 2.6、2.7或3.2构建时,安装Qt 4.8库(Windows VS 2008版本)。当针对Python 3.3或3.4构建时,安装Qt 4.8库(Windows VS 2010版本)。
安装Cmake。
当针对Python 2.6、2.7或3.2构建时,安装Windows SDK v7.0。当针对Python 3.3或3.4构建时,安装Windows SDK v7.1。
安装Git。
将最新的pip分发版安装到您在第一步中安装的Python中:下载get-pip.py,并使用命令提示符运行Python 2.7安装的
python
解释器。c:\> c:\Python27\python get-pip.py
安装最新的wheel分发版
c:\> c:\Python27\Scripts\pip install wheel
构建Shiboken分发版
下载并解压Shiboken源分发版
切换到分发版目录
c:\> cd Shiboken-1.2.2
构建wheel二进制分发版
c:\> c:\Python27\python.exe setup.py bdist_wheel --qmake=c:\Qt\4.8.5\bin\qmake.exe
从git仓库构建Shiboken分发版
从git仓库克隆Shiboken设置脚本
c:\> git clone https://github.com/PySide/shiboken-setup.git shiboken-setup
切换到shiboken-setup目录
c:\> cd shiboken-setup
构建wheel二进制分发版
c:\> c:\Python27\python.exe setup.py bdist_wheel --version=1.2.2 --qmake=c:\Qt\4.8.5\bin\qmake.exe
要构建Shiboken分发版的开发版本,忽略–version参数
c:\> c:\Python27\python.exe setup.py bdist_wheel --qmake=c:\Qt\4.8.5\bin\qmake.exe
安装Shiboken分发版
构建成功后,使用
pip
安装分发版c:\> c:\Python27\Scripts\pip install --use-wheel dist\Shiboken-1.2.2-cp27-none-win32.whl
在虚拟Python环境中安装Shiboken分发版
安装最新的virtualenv分发版
c:\> c:\Python27\Scripts\pip install virtualenv
使用virtualenv创建工作区
c:\> c:\Python27\Scripts\virtualenv --no-site-packages env
切换到env目录
c:\> cd env
使用
pip
安装分发版c:\> Scripts\pip install ..\dist\Shiboken-1.2.2-cp27-none-win32.whl
在UNIX系统(Ubuntu 12.04 - 14.04)上构建Shiboken
安装先决条件
安装构建依赖项
$ sudo apt-get install build-essential git cmake libqt4-dev python2.7-dev libxml2-dev libxslt1-dev
将最新的pip分发版安装到您在第一步中安装的Python中:下载get-pip.py,并使用命令提示符运行Python 2.7安装的
python
解释器。$ wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py $ sudo python2.7 get-pip.py
安装最新的wheel分发版
$ sudo pip2.7 install wheel
构建Shiboken分发版
下载Shiboken源分发版
$ wget https://pypi.python.org/packages/source/S/Shiboken/Shiboken-1.2.2.tar.gz
解压源分发版
$ tar -xvzf Shiboken-1.2.2.tar.gz
切换到分发版目录
$ cd Shiboken-1.2.2
构建wheel二进制分发版
$ python2.7 setup.py bdist_wheel --qmake=/usr/bin/qmake-qt4
可选:构建具有嵌入式Qt库的分发版的独立版本
$ python2.7 setup.py bdist_wheel --qmake=/usr/bin/qmake-qt4 --standalone
从git仓库构建Shiboken分发版
从git仓库克隆Shiboken设置脚本
$ git clone https://github.com/PySide/shiboken-setup.git shiboken-setup
切换到shiboken-setup目录
$ cd shiboken-setup
构建Shiboken分发版
$ python2.7 setup.py bdist_wheel --qmake=/usr/bin/qmake-qt4 --version=1.2.2
可选:构建具有嵌入式Qt库的分发版的独立版本
$ python2.7 setup.py bdist_wheel --qmake=/usr/bin/qmake-qt4 --version=1.2.2 --standalone
要构建Shiboken分发版的开发版本,忽略–version参数
$ python2.7 setup.py bdist_wheel --qmake=/usr/bin/qmake-qt4
安装Shiboken分发版
构建成功后,使用
pip
安装分发版$ sudo pip2.7 install dist/Shiboken-1.2.2-cp27-none-linux-x86_64.whl
运行后安装脚本来完成包配置
$ sudo python2.7 shiboken_postinstall.py -install
在虚拟Python环境中安装Shiboken分发版
安装最新的virtualenv分发版
$ sudo pip2.7 virtualenv
使用virtualenv创建工作区
$ virtualenv-2.7 --no-site-packages env
切换到env目录
$ cd env
使用
pip
安装分发版$ bin/pip2.7 install ../dist/Shiboken-1.2.2-cp27-none-linux-x86_64.whl
运行后安装脚本来完成包配置
$ bin/python bin/shiboken_postinstall.py -install
Shiboken设置脚本命令行选项
在Windows系统上的使用
c:\> c:\Python27\python.exe setup.py [distribution_type] [options]
在UNIX系统上的使用
python2.7 setup.py [distribution_type] [options]
分发版类型
- bdist_wheel
创建wheel二进制分发版。此类型分发版可以使用
pip
安装。- bdist_egg
创建egg二进制分发版。此类型分发版可以使用
easy_install
安装。- bdist_wininst
创建具有嵌入式Qt库和开发工具的独立Windows安装程序。此类型分发版可以使用
easy_install
安装。- install
将包安装到site包文件夹。
- develop
以开发模式安装包,使其在sys.path中可用,但仍可以直接从其源文件夹进行编辑。
- sdist
创建包含Shiboken设置脚本和Shiboken源代码的完整源分发版。可用于在离线模式下构建二进制分发版。
选项
- --qmake
指定qmake的路径。当qmake不在路径中或安装了多个Qt版本时很有用。
- --only-package
跳过重建所有内容,并从预构建的二进制文件创建分发。在首次使用此选项之前,需要完全的分发构建。
- --cmake
指定cmake的路径。当cmake不在路径中时很有用。
- --standalone
当启用时,所有必需的Qt库都将包含在Shiboken分发中。此选项始终在Windows系统上启用。在Linux上默认禁用。
- --version
指定要构建的Shiboken分发版本。此选项仅在从git仓库克隆设置脚本时可用。
- --list-versions
列出可用的Shiboken分发版本。
- --ignore-git
不要从git仓库拉取源代码。
- --make-spec
指定cmake makefile生成器类型。在Windows系统上,可用的值是msvc,在UNIX系统上为make。
- --jobs
指定并行构建作业的数量
- --jom
使用jom而不是msvc的nmake
- --build-tests
启用构建测试
反馈和参与
更改
1.2.2 (2014-04-24)
更改和错误修复的完整列表
移除导致sample_list测试失败的拒绝行
从samblebinding测试中移除protected
添加解析‘noexcept’关键字
修复函数拒绝(即支持重载)
修复与python 3.3和3.4的构建问题
文档:在Sphinx 1.2+中停止要求sphinx.ext.refcounting
修复具有‘const’值的容器
修复OS X 10.9上的编译问题
在定义类型时仅在PyTypeObject中使用字段
修复缓冲区溢出处理宏定义
修复特殊包含处理
修复查找容器基类
重构并改进添加的功能解析
解决libsample/transform.cpp中MSVC的
缺陷 修复sample/transform单元测试的描述
更改Handler::startElement中一些代码的包装和缩进以改进一致性
修复对于# > 9的‘%#’替换
改进测试的依赖关系
1.2.1 (2013-08-16)
主要更改
更好地支持方法超过9个参数
避免在具有无名称枚举值时获取.name属性时的段错误
1.2.0 (2013-07-02)
主要更改
将shiboken模块安装到site-packages
修复多个段错误
更改和错误修复的完整列表
从html文档中移除旧徽标
在模块初始化错误时添加缺少的返回
不要中断-Werror=non-virtual-dtor
修复shiboken测试的最小绑定测试
取消引用类型对象引用
修复使用shiboken.delete时的段错误
使用实例方法的非静态方法定义
修复递归_invalidate添加时引入的错误
修复C++11模式下的构建问题
防止invalidate中的无限递归
修复可能与垃圾收集器冲突的问题
修复退出时的可能崩溃
修复处理unsigned long long并提供单元测试
添加测试以说明typedef enum上的问题
在为PySide生成时使用getWrapperForQObject进行转换
允许在没有Python共享库的情况下编译
如果包装器为NULL,则使用父类的metaObject
可选地断言已释放的指针与有效的包装器
在启用pydebug时构建时查找python3库
修复PYSIDE-108错误并添加示例
PYSIDE-83 修复调用shiboken.dump时的段错误
修复并测试PYSIDE-72错误
覆盖所有具有相同名称的函数,而不仅仅是其中一个
更新向量转换
将typedef示例添加到最小
将测试文件添加回cmake
在删除它之后不要使用它->second
在2nd+基础类中查找定义的功能修改。修复了bug PYSIDE-54。
为所有ObjectTypes设置默认的哈希函数。修复bug PYSIDE-42。
修复系统上未安装libxslt时的编译问题。
已解决SOABI解析问题。SOABI在Linux上实现,但在Windows上未实现。
为了使VC++满意,不要在dllexport类中使用内联方法
在2.6+版本中使用SpooledTemporaryFile,因为os.tmpfile()在win32上如果没有管理员权限将失败
项目详情
下载文件
下载适用于您平台文件的文件。如果您不确定要选择哪个,请了解更多关于安装包的信息。
源代码发行版
构建分发
Shiboken-1.2.2.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0baee03c6244ab56e42e4200d0cb5e234682b11cc296ed0a192fe457d054972f |
|
MD5 | 345cfebda221f525842e079a6141e555 |
|
BLAKE2b-256 | 3ab5e89449be343044fc1ddfc52f321c0b06988466272209c8de9b44cd10cf7b |