首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么‘`pip’不显示Debian / Ubuntu上由‘not’安装的所有Python包?

为什么‘`pip’不显示Debian / Ubuntu上由‘not’安装的所有Python包?
EN

Stack Overflow用户
提问于 2018-10-08 10:06:35
回答 2查看 4.1K关注 0票数 2

在基于Debian的Linux发行版上,pip通常检测apt (在/usr/lib/pythonX/dist-packages中)安装的Python包。但是,这对PyQt5无效(例如,在运行pip listpip freeze时不显示PyQt5)。有人知道为什么吗?

使用Docker,您可以运行以下步骤来再现问题:

  • 运行Debian不稳定: docker运行-it debian:不稳定
  • 安装python3-pippython3-pyqt5: apt更新apt安装--不安装-推荐python3 3-pip python3 3-pyqt5 5
  • 跑 pip3列表 只有pip会被列出来。
  • 安装python3-requests apt安装--不安装-建议python3 3-请求 然后跑 pip3列表 再来一次。将列出requests包。
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-10-08 10:38:21

首先,查看包安装了哪些文件:

代码语言:javascript
复制
dpkg-query -L python3-requests

在输出中,您将看到:

/usr/lib/python3/dist-packages/requests-2.18.4.egg-info/PKG-INFO

该文件以以下内容开头:

代码语言:javascript
复制
Metadata-Version: 1.1
Name: requests
Version: 2.18.4

python3-pyqt5包不包含此类文件。

我可以想象,有些Debian包是这样的,而另一些包则不包括这些元数据。

Debian指出:(https://wiki.debian.org/Python/FAQ)

我们不希望在.egg中提供“.deb”文件。然而,我们希望提供“鸡蛋元信息”,以便用户可以使用鸡蛋,如果他们愿意的话。Python 2.5默认使用distutils实现这一点。对于基于setuptools的setup.py,您需要将“--单版本-外部管理”选项传递给"setup.py安装“调用。

票数 2
EN

Stack Overflow用户

发布于 2018-10-08 10:58:50

确实,PyQt5没有出现在pip list输出中。相反,pycairoPyGObject会出现。

如果您执行python3,然后运行import PyQt5,则导入它时不会出现任何错误。我已经在一个带有Ubuntu基本映像的坞容器上检查了它,但是对于Debian来说,它应该是一样的。

代码语言:javascript
复制
root@d6b7f119b352:/# python3
Python 3.6.7rc1 (default, Sep 27 2018, 09:51:25)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import PyQt5
>>>

代码语言:javascript
复制
>>> from PyQt5.QtWidgets import QApplication, QWidget, QLabel
>>>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52699914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档