如何在新的virtualenv上安装PyQt5并处理IDLE

Gou*_*ouz 7 python pip pyqt virtualenv pyqt5

我使用官方河岸网站提供的安装程序在我的win7系统(python 3.3)上全局安装了PyQt5.

然后我创建了一个新的–no-site-packagesvirtualenv,其中我在打字后看到的唯一的东西pip list是pip(1.4)和setuptools(0.9.7).

然而现在的问题是,我需要在那里安装完整的PyQt5,这似乎不可能使用pip工具.

无论pip install sippip install PyQt5虚拟环境内部正在返回的错误.

有人可以提供一个"如何"指导我应该怎么做?

我还希望能够在IDLE中使用PyQt5(新的virtualenv),所以我将tcl文件夹从我的Python的全局安装复制我的虚拟环境位置,并创建了一个快捷方式定位:{location of my virtual enviroment}\Scripts\pythonw.exe C:\Python33\Lib\idlelib\idle.pyw所以我可以打开virtualenv IDLE而不是全球IDLE.(希望我没有做错任何事情......请纠正.)

bow*_*eeb 11

虚拟环境中的"pip install sip"和"pip install PyQt5"都返回错误.

如果你所指的错误是:

Could not find any downloads that satisfy the requirement [pyqt5|sip]

No distributions at all found for [pyqt5|sip]

然后这个答案应该阐明这一点.基本上,PyPI只提供主页和/或来源的链接 - 而不是可下载的包或蛋.以下是PyQt5SIP PyPI页面的链接.我知道包管理器不提供包这似乎很奇怪,但就是这样.

您必须从virtualenv中的源代码下载,编译和安装sip和pyqt5.我希望我能提供详细信息,但我现在正在努力解决这个问题.

  • 应该可以使用`pip`安装可从[PyQt5](https://www.riverbankcomputing.com/software/pyqt/download5)下载页面下载的车轮文件. (5认同)

Six*_*Six 8

假设您在全球范围内安装了 PyQt5,有一种方法可以让您的 virtualenv 访问它,而无需使用--system-site-packages. 一个名为vext的包使之成为可能。它也适用于其他包,但在这种情况下,我们将只设置 PyQt5 支持。

从您的 virtualenv 中运行以下命令,您应该很高兴:

pip install vext.pyqt5
Run Code Online (Sandbox Code Playgroud)

要检查状态,请运行vext -l。您应该会看到类似以下内容:

Running in virtualenv [enabled]
pyqt5.vext
Run Code Online (Sandbox Code Playgroud)

或者,运行vext -c pyqt5.vext。您应该会看到类似以下内容:

import sip: [success]
import PyQt5: [success]
Run Code Online (Sandbox Code Playgroud)

或者,您可以尝试导入 PyQt5,例如python -c 'import PyQt5'.