install PyQt4

来源:互联网 发布:python 遗传算法 股票 编辑:程序博客网 时间:2024/06/06 03:59

安装PyQt4的

下载

在构建和使用PyQt4之前,必须安装SIP。您可以从http://www.riverbankcomputing.com/software/sip/download获取最新版本的SIP源代码 

SIP文档可以在http://pyqt.sourceforge.net/Docs/sip4/找到

下载PyQt4中

您可以从http://www.riverbankcomputing.com/software/pyqt/download获取GPL版本的PyQt4源代码的最新版本 

如果您正在使用PyQt4的商业版本,那么您应该使用在您购买时发送给您的下载说明。您还必须下载您的许可证文件。

配置PyQt4中

在解压源代码包(根据您的平台而定.tar.gz.zip文件文件)之后,您应该检查README与您的平台相关的任何文件。

如果您使用的是PyQt4的商业版本,则必须将您的许可证文件复制到该sip目录,或者复制到configure-ng.py--license-dir选项指定的目录 中 

您需要确保您的环境变量适合您的开发环境。

为了配置PyQt4的版本,你需要运行 configure-ng.py或者configure.py脚本。

configure.py是使用SIP v4构建系统(即sip.sipconfig模块)的原始配置脚本它将支持PyQt4的生命。

configure-ng.py是新的配置脚本,它使用Qt的 qmake程序来完成所有繁重的工作。它具有以下优点:

  • 它支持交叉编译
  • 这是PyQt5的配置脚本的基础
  • 生成的Makefiles有一个卸载目标
  • 它将使用SIP v5(将不具有构建系统)。

鼓励用户切换到使用configure-ng.py,以便将来转换到SIP v5和/或PyQt5。

使用configure- 

4.10.1版本中的新功能

configure-ng.py脚本用于配置PyQt4的,如下所示:

python  配置- ng PY

这假定Python解释器在你的路径上。类似下面的内容可能适用于Windows:

c  \ python34 \ python  configure - ng PY

如果您安装了多个版本的Python,请确保使用您希望为其构建PyQt4的解释器。

全套的命令行选项是:

--assume-shared

通常检查Qt是否已经构建为共享库。一些Linux发行版配置了他们的Qt版本来使这个检查不可靠。这个选项忽略了检查的结果,并假定Qt已经被构建为共享库。

--bindir <DIR>-b <DIR>

pyuic4pyrcc4pylupdate4 实用工具将被安装在目录<DIR>

--concatenate-c

Python模块的C ++源文件将被连接在一起。这导致编译时间显着缩短。大多数(但不是全部)C ++编译器可以处理导致的大文件。另请参阅 --concatenate-split选项。

--concatenate-split <N>-j <N>

如果该--concatenate选项用于连接C ++源文件,则此选项确定创建多少个文件。默认值是1。

--configuration <FILE>

<FILE>包含PyQt4构建的配置,而不是动态内省系统,通常在交叉编译时使用。请参阅使用配置文件配置

--confirm-license

使用此证实您接受PyQt4许可证的条款。

--dbus <DIR>-s <DIR>

dbus-python.hdbus-python包头文件可以在目录中找到<DIR>/dbus

--debug-u

PyQt4模块将使用调试符号构建。在Windows上,这需要安装Python的调试版本。

--designer-plugindir <DIR>

Qt Designer的Python插件将安装在目录中 <DIR>

--destdir <DIR>-d <DIR>

PyQt4 Python包将被安装在目录中<DIR>默认是Python安装的site-packages目录。如果你使用这个选项,那么PYTHONPATH环境变量必须包含<DIR>

--enable <MODULE>-e <MODULE>

通常情况下,所有的PyQt4模块都被启用,并且如果能够找到相应的Qt库的话就建立起来。使用这个选项,只有那些特别启用的模块才会被检查和建立。该选项可以被指定任意次数。

--help-h

显示帮助信息。

--license-dir <DIR>

PyQt4商业版本所需的许可证文件可以在目录中找到<DIR>

--no-deprecated

所有在Qt v5中被弃用的Qt v4功能都将被禁用。将PyQt4应用程序移植到PyQt5时非常有用。

--no-designer-plugin

Qt Designer插件将不会被构建。

--no-docstrings

PyQt4模块将不包含自动生成的文档字符串。

--no-python-dbus

标准Python DBus绑定的Qt支持被禁用。

--no-qsci-api

PyQt4.api即使QScintilla确实出现了安装QScintilla API文件没有安装。

--no-sip-files

.sipPyQt4模块文件将不会被安装。

--no-stubs

4.12版新增功能

PyQt4模块的PEP 484类型提示存根文件将不会被安装。对于早于v3.5的Python版本,此选项将被忽略(并且存根文件未安装)。

--no-tools

4.11版本中的新功能

pyuic4pyrcc4pylupdate4工具将不能建。

--no-timestamp-T

正常情况下,每个生成的C / C ++源文件的标题注释都包含与生成文件的时间相对应的时间戳。此选项禁止包含时间戳。

--plugin <PLUGIN>-t <PLUGIN>

如果Qt已经被构建为静态库,那么静态插件 <PLUGIN>将被连接到适当的PyQt4模块。该选项可以被指定任意次数。

--protected-is-public

方式读物中内数范读亦范范范范范范亦亦内范范预期信息中读亦亦读信范H2为信端中读范亦protectedpublic中信息 此选项启用此行为,并且是Linux和MacOS / X上的默认设置。

--protected-not-public

默认重新定义protected,以public对Linux和MacOS / X编译过程中被禁用。

--pyuic4-interpreter <FILE>

<FILE>是pyuic4包装器中使用的Python解释器的名称。默认是平台依赖的。

--qmake <FILE>-q <FILE>

Qt的qmake程序用于确定你的Qt安装是如何布置的。通常情况下,你的qmake被找到PATH这个选项可以用来指定一个特定的qmake实例 来使用。该选项在qmake必须打开的Windows上 不可用PATH

--qsci-api-a

PyQt4.api即使QScintilla不会出现安装QScintilla API文件安装。如果--qsci-api-destdir指定了该选项,则暗示该选项。

--qsci-api-destdir <DIR>-n <DIR>

QScintilla API文件将安装在python 目录的api子目录的子目录中<DIR>

--sip <FILE>

SIP程序用于生成PyQt4的的C ++源码。通常在你的身上发现sipPATH这个选项可以用来指定要使用的特定的sip实例

--sip-incdir <DIR>

sip.h头文件可以在目录中找到<DIR>

--sipdir <DIR>-v <DIR>

.sipPyQt4模块文件将被安装在目录中 <DIR>

--spec <SPEC>

这个论点将被传递给qmake默认行为是平台特定的。在Windows上, configure-ng.py将选择正在使用的Python版本的值。(但是,如果您自己构建了Python,则可能需要明确指定。)在MacOS上, configure-ng.py将尽可能避免-spec SPEC<SPEC>macx-xcode

--static-k

PyQt4模块将被构建为静态库。当使用内置在解释器中的PyQt4模块构建自定义解释器时,这非常有用。

--stubdir <DIR>

4.12版新增功能

PyQt4模块的PEP 484类型提示存根文件将被安装在目录中<DIR>默认情况下,它们将被存储在相应的扩展模块所在的目录中。对于早于v3.5的Python版本,此选项将被忽略(并且存根文件未安装)。

--sysroot <DIR>

4.11版本中的新功能

<DIR>是一个可选目录的名称,用于替换sys.prefix 其他目录的名称(特别是那些指定将安装各种PyQt4组件以及Python包含目录和库目录的位置的目录)。它通常在交叉编译或构建PyQt4的静态版本时使用。请参阅 使用配置文件配置

--target-py-version <VERSION>

4.11版本中的新功能

<VERSION>是目标3.4Python 版本的主要和次要版本(例如)。默认情况下使用Python的版本来运行configure.py脚本。通常在交叉编译时使用。请参阅使用配置文件配置

--trace-r

生成的PyQt4模块包含使用SIP sip.settracemask()功能启用的其他跟踪代码

--verbose-w

编译器命令和配置期间发出的任何输出显示,而不是被取消。如果configure-ng.py有问题,看看到底是怎么回事。

--version

显示PyQt4版本号。

任何剩余的命令行参数预计将在窗体 name=valuename+=value这些参数被添加到configure-ng.py创建的任何qmake .pro文件中

使用configure.py 

configure.py脚本用于配置PyQt4的,如下所示:

python  配置PY

这假定Python解释器在你的路径上。类似下面的内容可能适用于Windows:

c  \ python34 \ python  配置PY

如果您安装了多个版本的Python,请确保使用您希望为其构建PyQt4的解释器。

全套的命令行选项是:

--assume-shared

通常检查Qt是否已经构建为共享库。一些Linux发行版配置了他们的Qt版本来使这个检查不可靠。这个选项忽略了检查的结果,并假定Qt已经被构建为共享库。

--bindir <DIR>-b <DIR>

pyuic4pyrcc4pylupdate4 实用工具将被安装在目录<DIR>

--concatenate-c

Python模块的C ++源文件将被连接在一起。这导致编译时间显着缩短。大多数(但不是全部)C ++编译器可以处理导致的大文件。另请参阅 --concatenate-split选项。

--concatenate-split <N>-j <N>

如果该--concatenate选项用于连接C ++源文件,则此选项确定创建多少个文件。默认值是1。

--confirm-license

使用此证实您接受PyQt4许可证的条款。

--consolidate-g

通常,每个PyQt4模块(模块除外Qt)都链接到相应的Qt库。这个选项创建一个模块_qt该模块被链接到所有需要的Qt库,而其他模块是存根模块,用于填充它们的模块字典。链接静态Qt库时,这是非常有用的,从而消除了分布Qt库的需求,同时最大限度地减少了PyQt4模块的内存占用。

--dbus <DIR>-s <DIR>

dbus-python.hdbus-python包头文件可以在目录中找到<DIR>/dbus

--debug-u

PyQt4模块将使用调试符号构建。在Windows上,这需要安装Python的调试版本。

--destdir <DIR>-d <DIR>

PyQt4 Python包将被安装在目录中<DIR>默认是Python安装的site-packages目录。如果你使用这个选项,那么PYTHONPATH环境变量必须包含<DIR>

--enable <MODULE>-e <MODULE>

通常情况下,所有的PyQt4模块都被启用,并且如果能够找到相应的Qt库的话就建立起来。使用这个选项,只有那些特别启用的模块才会被检查和建立。该选项可以被指定任意次数。

--help-h

显示帮助信息。

--no-deprecated

所有在Qt v5中被弃用的Qt v4功能都将被禁用。将PyQt4应用程序移植到PyQt5时非常有用。

--no-designer-plugin

Qt Designer插件将不会被构建。

--no-docstrings

PyQt4模块将不包含自动生成的文档字符串。

--no-qsci-api

PyQt4.api即使QScintilla确实出现了安装QScintilla API文件没有安装。

--no-sip-files

.sipPyQt4模块文件将不会被安装。

--no-timestamp-T

正常情况下,每个生成的C / C ++源文件的标题注释都包含与生成文件的时间相对应的时间戳。此选项禁止包含时间戳。

--plugin <PLUGIN>-t <PLUGIN>

如果Qt已经被构建为静态库,那么静态插件 <PLUGIN>将被连接到适当的PyQt4模块。该选项可以被指定任意次数。

--plugin-destdir <DIR>-p <DIR>

管理用Python实现的插件的Qt Designer插件将安装在designer目录子目录中<DIR>

--protected-is-public

方式读物中内数范读亦范范范范范范亦亦内范范预期信息中读亦亦读信范H2为信端中读范亦protectedpublic中信息 此选项启用此行为,并且是Linux和MacOS / X上的默认设置。

--protected-not-public

默认重新定义protected,以public对Linux和MacOS / X编译过程中被禁用。

--qmake <FILE>-q <FILE>

Qt的qmake程序用于确定你的Qt安装是如何布置的。通常情况下,你的qmake被找到PATH这个选项可以用来指定一个特定的qmake实例 来使用。该选项在Windows上不可用。

--qsci-api-a

PyQt4.api即使QScintilla不会出现安装QScintilla API文件安装。如果--qsci-api-destdir指定了该选项,则暗示该选项。

--qsci-api-destdir <DIR>-n <DIR>

QScintilla API文件将安装在python 目录的api子目录的子目录中<DIR>

--sipdir <DIR>-v <DIR>

.sipPyQt4模块文件将被安装在目录中 <DIR>

--static-k

PyQt4模块将被构建为静态库。当使用内置在解释器中的PyQt4模块构建自定义解释器时,这非常有用。

--trace-r

生成的PyQt4模块包含使用SIP sip.settracemask()功能启用的其他跟踪代码

--use-arch <ARCH>

pyuic4在MacOS上调用Python解释器时,它将使用该体系结构运行<ARCH>请参阅为MacOS配置SIP和PyQt4一节

--verbose-w

编译器命令和配置期间发出的任何输出显示,而不是被取消。使用这个,如果configure.py有问题,看看到底是怎么回事。

--version

显示PyQt4版本号。

配置适用于MacOS SIP和PyQt4中

请注意,本节仅适用于使用 configure.py脚本来配置PyQt4的情况。该 configure-ng.py脚本离开Qt的qmake的程序来处理的细节。 configure-ng.py不支持创建通用二进制文件。

为MacOS构建应用程序可能是一个复杂的过程。通常需要考虑以下几点:

  • 你想支持的架构(ie i386,x86_64,ppc)
  • 要支持的最早版本的MacOS(即部署目标)
  • 您要使用的SDK版本。

如果您使用Python和/或Qt的二进制安装程序,那么您还需要考虑它们是如何构建的,以及它们有什么错误。

SIP和PyQt4的configure.py脚本提供了必要的命令行选项,以允许指定正确的配置 - 诀窍是根据您安装的Python和Qt版本计算出使用哪个选项。

SIP为其configure.py 脚本提供了以下命令行选项

  • --arch <ARCH> 指定目标体系结构并可以指定多次。
  • --universal是一个捷径--arch i386 --arch ppc
  • --deployment-target <VERSION>指定您想要支持的最早版本的MacOS。这套MACOSX_DEPLOYMENT_TARGET 环境变量,应该使用而不是在shell中设置环境变量(以解决某些版本的Python中的错误)。
  • --sdk <SDK> 指定要使用的SDK。

PyQt4提供了一个--use-arch选项,指定在运行Python时,某些PyQt4工具(实际上目前只有pyuic4)将使用哪种架构 例如,如果你的Qt安装是32位,并且你的Python安装是32位和64位,那么你将需要指定确保 pyuic4运行Python的32位版本。--use-arch i386

大厦PyQt4中

下一步是通过运行平台的make 命令来构建PyQt4 例如:

使

最后一步是通过运行以下命令来安装PyQt4:

进行 安装

(根据您的系统,您可能需要root或管理员权限。)

这将安装各种PyQt4组件。

使用配置文件进行配置

configure-ng.py脚本通常内省Python的安装,以确定它需要的各种文件和目录的名称运行它解释的。对于PyQt4的本地构建来说这很好,但是在交叉编译时不适合。在这种情况下,可以提供一个使用--configuration选项指定的配置文件 ,其中包含所有必需值的定义。

配置文件由多个命名节组成,每个命名节包含多个配置项。配置文件的格式如下:

  • 段名被封闭之间具有名称一行[和 ]
  • 一个配置项目是一个包含名称/值对分隔的单行 =
  • 如果它们被至少一个空格缩进,则值可以被扩展到紧随其后的行
  • 一个值可以包含另一个值,通过嵌入在%(之间的那个值的名字)
  • 评论开始#并继续到行的末尾
  • 空白行被忽略。

在第一部分名称之前出现的那些配置项自动添加到所有部分。

配置文件为需要不同配置的每个Qt版本定义一个部分。 configure-ng.py将根据您实际使用的Qt版本选择最合适的部分。例如,如果配置文件包含Qt v5.3和Qt v5.1的部分,并且您正在使用Qt v5.2.1,则将选择Qt v5.1的部分。

configure-ng.py配置提供以下预设值:

py_major
是目标Python安装的主要版本号。
py_minor
是目标Python安装的次要版本号。
sysroot
是系统根目录的名称。这是用--sysroot选项指定的 

以下是一个示例配置文件:

#目标Python安装。py_platform  =  linux的py_inc_dir  =  SYSROOT / USR / 包括/ py_major py_minor py_pylib_dir  =  SYSROOT / USR / LIB / py_major py_minor / 配置py_pylib_lib  =  py_major 。%py_minor mu#目标PyQt安装。pyqt_module_dir  =  SYSROOT / USR / LIB / py_major / DIST - pyqt_bin_dir  =  SYSROOT / USR / pyqt_sip_dir  =  SYSROOT / USR / 共享/ SIP / PyQt4的pyuic_interpreter  =  / USR / / python py_major 。%py_minor pyqt_disabled_features  =  PyQt_Desktop_OpenGL  PyQt_qreal_double#所有版本通用的Qt配置。qt_shared  =  True[ Qt  5.1 ] pyqt_modules  =  QtCore  QtDBus  QtDesigner  QtGui  QtHelp  QtMultimedia     QtMultimediaWidgets  QtNetwork  QtOpenGL  QtPrintSupport  QtQml  QtQuick     QtSensors  QtSerialPort  QtSql  QtSvg  QtTest  QtWebKit  QtWebKitWidgets     QtWidgets  QtXmlPatterns  _QOpenGLFunctions_ES2

这个例子包含了一个Qt v5.1的章节。我们已经在本节开始之前定义了一些值,因为它们并不特定于任何特定版本的Qt。请注意,如果您使用此配置的版本低于v5.1的Qt版本,则会出现错误。

以下值可以在配置文件中指定:

qt_shared
如果Qt已经被构建为共享库,那么它就被设置。默认值是 False
py_platform
是目标Python平台。
py_inc_dir
是目标Python包含目录,即包含该Python.h文件的目录 
py_pylib_dir
是目标Python库的目录。
py_pylib_lib
是目标Python解释器库。它不应该包含任何平台特定的前缀或后缀。
pyqt_disabled_features
%Feature 应该禁用的空间分隔的功能列表(由SIP的指令定义)。
pyqt_module_dir
是PyQt4模块将被安装的目标目录。它可以被--destdir 选项覆盖
pyqt_modules
是将要构建的PyQt4模块的空格分隔列表。它可以被--enable选项覆盖
pyqt_bin_dir
是安装PyQt4相关可执行文件的目标目录的名称。它可以被--bindir选项覆盖 
pyqt_sip_dir
是PyQt4 .sip文件将被安装的目标目录的名称它可以被--sipdir选项覆盖 
pyuic_interpreter
是将用于运行pyuic4的Python解释器的名称(因为它将从目标系统中调用)它可以被--pyuic4-interpreter 选项覆盖 

目录

  • 安装PyQt4
    • 正在下载SIP
    • 正在下载PyQt4
    • 配置PyQt4
      • 使用configure-ng.py
      • 使用configure.py
      • 为MacOS配置SIP和PyQt4
    • 构建PyQt4
    • 用配置文件进行配置

上一个主题

与早期版本的潜在不兼容性

下一个主题

PyQt4和Python v3

原创粉丝点击