跳转到主要内容

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,您可以选择以下选项

  1. 使用pip安装wheel二进制包

    pip install --use-wheel -U Shiboken
  2. 使用setuptools安装egg二进制包

    easy_install -U Shiboken

在UNIX系统上安装Shiboken

我们不提供UNIX系统的二进制文件。请阅读“在UNIX系统上构建Shiboken”部分中的构建说明。

在Windows系统上构建Shiboken

安装先决条件

  1. 安装Python

  2. 当针对Python 2.6、2.7或3.2构建时,安装Qt 4.8库(Windows VS 2008版本)。当针对Python 3.3或3.4构建时,安装Qt 4.8库(Windows VS 2010版本)

  3. 安装Cmake

  4. 当针对Python 2.6、2.7或3.2构建时,安装Windows SDK v7.0。当针对Python 3.3或3.4构建时,安装Windows SDK v7.1

  5. 安装Git

  6. 将最新的pip分发版安装到您在第一步中安装的Python中:下载get-pip.py,并使用命令提示符运行Python 2.7安装的

    python

    解释器。

    c:\> c:\Python27\python get-pip.py
  7. 安装最新的wheel分发版

    c:\> c:\Python27\Scripts\pip install wheel

构建Shiboken分发版

  1. 下载并解压Shiboken源分发版

  2. 切换到分发版目录

    c:\> cd Shiboken-1.2.2
  3. 构建wheel二进制分发版

    c:\> c:\Python27\python.exe setup.py bdist_wheel --qmake=c:\Qt\4.8.5\bin\qmake.exe

从git仓库构建Shiboken分发版

  1. 从git仓库克隆Shiboken设置脚本

    c:\> git clone https://github.com/PySide/shiboken-setup.git shiboken-setup
  2. 切换到shiboken-setup目录

    c:\> cd shiboken-setup
  3. 构建wheel二进制分发版

    c:\> c:\Python27\python.exe setup.py bdist_wheel --version=1.2.2 --qmake=c:\Qt\4.8.5\bin\qmake.exe
  4. 要构建Shiboken分发版的开发版本,忽略–version参数

    c:\> c:\Python27\python.exe setup.py bdist_wheel --qmake=c:\Qt\4.8.5\bin\qmake.exe

安装Shiboken分发版

  1. 构建成功后,使用

    pip

    安装分发版

    c:\> c:\Python27\Scripts\pip install --use-wheel dist\Shiboken-1.2.2-cp27-none-win32.whl

在虚拟Python环境中安装Shiboken分发版

  1. 安装最新的virtualenv分发版

    c:\> c:\Python27\Scripts\pip install virtualenv
  2. 使用virtualenv创建工作区

    c:\> c:\Python27\Scripts\virtualenv --no-site-packages env
  3. 切换到env目录

    c:\> cd env
  4. 使用

    pip

    安装分发版

    c:\> Scripts\pip install ..\dist\Shiboken-1.2.2-cp27-none-win32.whl

在UNIX系统(Ubuntu 12.04 - 14.04)上构建Shiboken

安装先决条件

  1. 安装构建依赖项

    $ sudo apt-get install build-essential git cmake libqt4-dev python2.7-dev libxml2-dev libxslt1-dev
  2. 将最新的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
  3. 安装最新的wheel分发版

    $ sudo pip2.7 install wheel

构建Shiboken分发版

  1. 下载Shiboken源分发版

    $ wget https://pypi.python.org/packages/source/S/Shiboken/Shiboken-1.2.2.tar.gz
  2. 解压源分发版

    $ tar -xvzf Shiboken-1.2.2.tar.gz
  3. 切换到分发版目录

    $ cd Shiboken-1.2.2
  4. 构建wheel二进制分发版

    $ python2.7 setup.py bdist_wheel --qmake=/usr/bin/qmake-qt4
  5. 可选:构建具有嵌入式Qt库的分发版的独立版本

    $ python2.7 setup.py bdist_wheel --qmake=/usr/bin/qmake-qt4 --standalone

从git仓库构建Shiboken分发版

  1. 从git仓库克隆Shiboken设置脚本

    $ git clone https://github.com/PySide/shiboken-setup.git shiboken-setup
  2. 切换到shiboken-setup目录

    $ cd shiboken-setup
  3. 构建Shiboken分发版

    $ python2.7 setup.py bdist_wheel --qmake=/usr/bin/qmake-qt4 --version=1.2.2
  4. 可选:构建具有嵌入式Qt库的分发版的独立版本

    $ python2.7 setup.py bdist_wheel --qmake=/usr/bin/qmake-qt4 --version=1.2.2 --standalone
  5. 要构建Shiboken分发版的开发版本,忽略–version参数

    $ python2.7 setup.py bdist_wheel --qmake=/usr/bin/qmake-qt4

安装Shiboken分发版

  1. 构建成功后,使用

    pip

    安装分发版

    $ sudo pip2.7 install dist/Shiboken-1.2.2-cp27-none-linux-x86_64.whl
  2. 运行后安装脚本来完成包配置

    $ sudo python2.7 shiboken_postinstall.py -install

在虚拟Python环境中安装Shiboken分发版

  1. 安装最新的virtualenv分发版

    $ sudo pip2.7 virtualenv
  2. 使用virtualenv创建工作区

    $ virtualenv-2.7 --no-site-packages env
  3. 切换到env目录

    $ cd env
  4. 使用

    pip

    安装分发版

    $ bin/pip2.7 install ../dist/Shiboken-1.2.2-cp27-none-linux-x86_64.whl
  5. 运行后安装脚本来完成包配置

    $ 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 (1.1 MB 查看哈希)

上传时间 源代码

构建分发

Shiboken-1.2.2.win-amd64-py3.4.exe (2.7 MB 查看哈希)

上传时间 源代码

Shiboken-1.2.2.win-amd64-py3.3.exe (2.8 MB 查看哈希)

上传时间 源代码

Shiboken-1.2.2.win-amd64-py3.2.exe (2.9 MB 查看哈希)

上传时间 源代码

Shiboken-1.2.2.win-amd64-py2.7.exe (2.8 MB 查看哈希)

上传时间 源代码

Shiboken-1.2.2.win-amd64-py2.6.exe (2.9 MB 查看哈希)

上传时间 源代码

Shiboken-1.2.2.win32-py3.4.exe (2.4 MB 查看哈希)

上传时间 源代码

Shiboken-1.2.2.win32-py3.3.exe (2.5 MB 查看哈希)

上传时间 源代码

Shiboken-1.2.2.win32-py3.2.exe (2.4 MB 查看哈希)

上传于 源代码

Shiboken-1.2.2.win32-py2.7.exe (2.3 MB 查看哈希值)

上传于 源代码

Shiboken-1.2.2.win32-py2.6.exe (2.4 MB 查看哈希值)

上传于 源代码

Shiboken-1.2.2-py3.4-win-amd64.egg (2.5 MB 查看哈希值)

上传于 源代码

Shiboken-1.2.2-py3.4-win32.egg (2.2 MB 查看哈希值)

上传于 源代码

Shiboken-1.2.2-py3.3-win-amd64.egg (2.6 MB 查看哈希值)

上传于 源代码

Shiboken-1.2.2-py3.3-win32.egg (2.2 MB 查看哈希值)

上传于 源代码

Shiboken-1.2.2-py3.2-win-amd64.egg (2.6 MB 查看哈希值)

上传于 源代码

Shiboken-1.2.2-py3.2-win32.egg (2.2 MB 查看哈希值)

上传于 源代码

Shiboken-1.2.2-py2.7-win-amd64.egg (2.6 MB 查看哈希值)

上传于 源代码

Shiboken-1.2.2-py2.7-win32.egg (2.1 MB 查看哈希值)

上传于 源代码

Shiboken-1.2.2-py2.6-win-amd64.egg (2.6 MB 查看哈希值)

上传于 源代码

Shiboken-1.2.2-py2.6-win32.egg (2.2 MB 查看哈希值)

上传于 源代码

Shiboken-1.2.2-cp34-none-win_amd64.whl (2.5 MB 查看哈希值)

上传于 CPython 3.4 Windows x86-64

Shiboken-1.2.2-cp34-none-win32.whl (2.2 MB 查看哈希值)

上传于 CPython 3.4 Windows x86

Shiboken-1.2.2-cp33-none-win_amd64.whl (2.6 MB 查看哈希值)

上传于 CPython 3.3 Windows x86-64

Shiboken-1.2.2-cp33-none-win32.whl (2.3 MB 查看哈希值)

上传于 CPython 3.3 Windows x86

Shiboken-1.2.2-cp32-none-win_amd64.whl (2.6 MB 查看哈希值)

上传于 CPython 3.2 Windows x86-64

Shiboken-1.2.2-cp32-none-win32.whl (2.2 MB 查看哈希值)

上传于 CPython 3.2 Windows x86

Shiboken-1.2.2-cp27-none-win_amd64.whl (2.6 MB 查看哈希值)

上传于 CPython 2.7 Windows x86-64

Shiboken-1.2.2-cp27-none-win32.whl (2.1 MB 查看哈希值)

上传于 CPython 2.7 Windows x86

Shiboken-1.2.2-cp26-none-win_amd64.whl (2.6 MB 查看哈希值)

上传于 CPython 2.6 Windows x86-64

Shiboken-1.2.2-cp26-none-win32.whl (2.2 MB 查看哈希值)

上传于 CPython 2.6 Windows x86

由以下提供支持