语境
我想安装适用于Qt5的在我的 conda 基础环境中,以及一些其他库中。我已经在不同的会话中完成了这项任务。问题是,当我进入 Visual Studio Code 并将我的所有库导入 python 文件时,我的 linter 无法单独解决 PyQt5 中缺少的导入。我已经检查过 IDE 中选择的解释器是 anaconda3 基础环境之一。所以我认为我在 conda 未激活时安装了 PyQt5(因为我已经使用它有一段时间了)。然后我在我的 conda 环境中安装了它,所以现在一切都很好,除了我可能安装了多个 PyQt5 副本,这并不理想。我想了解我实际做了什么以及在我的 Ubuntu 分区中存储了什么,更多是为了获取知识而不是为了恢复一些磁盘空间。
基于 Shell 的磁盘检查
我收集了一些有关我的安装的信息,并在此报告它们,以帮助您了解我的 Ubuntu 安装中的内容。所有后续命令均在基本 conda 环境中执行。
$conda list | grep -e qt5 -e Qt5
pyqt5 5.15.4 pypi_0 pypi
pyqt5-qt5 5.15.2 pypi_0 pypi
pyqt5-sip 12.8.1 pypi_0 pypi
$pip install pyqt5
Requirement already satisfied: pyqt5 in ./anaconda3/lib/python3.8/site-packages (5.15.4)
Requirement already satisfied: PyQt5-Qt5>=5.15 in ./anaconda3/lib/python3.8/site-packages (from pyqt5) (5.15.2)
Requirement already satisfied: PyQt5-sip<13,>=12.8 in ./anaconda3/lib/python3.8/site-packages (from pyqt5) (12.8.1)
$ dpkg --list | grep -e qt5 -e Qt5
ii libpyside2-dev 5.14.0-1~exp1ubuntu5 amd64 Python bindings for Qt5 (development files)
ii libpyside2-py3-5.14 5.14.0-1~exp1ubuntu5 amd64 Python 3 bindings for Qt5 (base files)
ii libqt5concurrent5:amd64 5.12.8+dfsg-0ubuntu1 amd64 Qt 5 concurrent module
ii libqt5core5a:amd64 5.12.8+dfsg-0ubuntu1 amd64 Qt 5 core module
ii libqt5dbus5:amd64 5.12.8+dfsg-0ubuntu1 amd64 Qt 5 D-Bus module
ii libqt5designer5:amd64 5.12.8-0ubuntu1 amd64 Qt 5 designer module
ii libqt5designercomponents5:amd64 5.12.8-0ubuntu1 amd64 Qt 5 Designer components module
ii libqt5gui5:amd64 5.12.8+dfsg-0ubuntu1 amd64 Qt 5 GUI module
ii libqt5help5:amd64 5.12.8-0ubuntu1 amd64 Qt 5 help module
ii libqt5network5:amd64 5.12.8+dfsg-0ubuntu1 amd64 Qt 5 network module
ii libqt5opengl5:amd64 5.12.8+dfsg-0ubuntu1 amd64 Qt 5 OpenGL module
ii libqt5opengl5-dev:amd64 5.12.8+dfsg-0ubuntu1 amd64 Qt 5 OpenGL library development files
ii libqt5positioning5:amd64 5.12.8+dfsg-0ubuntu1 amd64 Qt Positioning module
ii libqt5printsupport5:amd64 5.12.8+dfsg-0ubuntu1 amd64 Qt 5 print support module
ii libqt5qml5:amd64 5.12.8-0ubuntu1 amd64 Qt 5 QML module
ii libqt5quick5:amd64 5.12.8-0ubuntu1 amd64 Qt 5 Quick library
ii libqt5quickparticles5:amd64 5.12.8-0ubuntu1 amd64 Qt 5 Quick particles module
ii libqt5quickshapes5:amd64 5.12.8-0ubuntu1 amd64 Qt 5 Quick Shapes module
ii libqt5quicktest5:amd64 5.12.8-0ubuntu1 amd64 Qt 5 Quick Test library
ii libqt5quickwidgets5:amd64 5.12.8-0ubuntu1 amd64 Qt 5 Quick Widgets library
ii libqt5sensors5:amd64 5.12.8-0ubuntu1 amd64 Qt Sensors module
ii libqt5sql5:amd64 5.12.8+dfsg-0ubuntu1 amd64 Qt 5 SQL module
ii libqt5sql5-sqlite:amd64 5.12.8+dfsg-0ubuntu1 amd64 Qt 5 SQLite 3 database driver
ii libqt5svg5:amd64 5.12.8-0ubuntu1 amd64 Qt 5 SVG module
ii libqt5test5:amd64 5.12.8+dfsg-0ubuntu1 amd64 Qt 5 test module
ii libqt5webchannel5:amd64 5.12.8-0ubuntu1 amd64 Web communication library for Qt
ii libqt5webkit5:amd64 5.212.0~alpha4-1ubuntu2 amd64 Web content engine library for Qt
ii libqt5webkit5-dev:amd64 5.212.0~alpha4-1ubuntu2 amd64 Web content engine library for Qt - development files
ii libqt5widgets5:amd64 5.12.8+dfsg-0ubuntu1 amd64 Qt 5 widgets module
ii libqt5x11extras5:amd64 5.12.8-0ubuntu1 amd64 Qt 5 X11 extras
ii libqt5xml5:amd64 5.12.8+dfsg-0ubuntu1 amd64 Qt 5 XML module
ii libqwt-qt5-6 6.1.4-1.1build1 amd64 Qt widgets library for technical applications (runtime, qt5)
ii libqwt-qt5-dev 6.1.4-1.1build1 amd64 Qt widgets library for technical applications (development, qt5)
ii pyqt5-dev 5.14.1+dfsg-3build1 all Development files for PyQt5
ii python3-pyqt5 5.14.1+dfsg-3build1 amd64 Python 3 bindings for Qt5
ii python3-pyqt5.qtopengl 5.14.1+dfsg-3build1 amd64 Python 3 bindings for Qt5's OpenGL module
ii python3-pyqt5.qtsvg 5.14.1+dfsg-3build1 amd64 Python 3 bindings for Qt5's SVG module
ii python3-pyqt5.qtwebkit 5.14.1+dfsg-3build1 amd64 Python 3 bindings for Qt5's WebKit module
ii python3-pyside2.qtcore 5.14.0-1~exp1ubuntu5 amd64 Python bindings for Qt5 core module (Python 3)
ii python3-pyside2.qtgui 5.14.0-1~exp1ubuntu5 amd64 Python bindings for Qt5 Gui module (Python 3)
ii python3-pyside2.qtsvg 5.14.0-1~exp1ubuntu5 amd64 Python bindings for Qt5 Svg module (Python 3)
ii python3-pyside2.qtwidgets 5.14.0-1~exp1ubuntu5 amd64 Python bindings for Qt5 Widgets module (Python 3)
ii qdoc-qt5 5.12.8-0ubuntu1 amd64 Qt 5 qdoc tool
ii qhelpgenerator-qt5 5.12.8-0ubuntu1 amd64 Qt 5 qhelpgenerator tool
ii qt5-assistant 5.12.8-0ubuntu1 amd64 Qt 5 Assistant
ii qt5-gtk-platformtheme:amd64 5.12.8+dfsg-0ubuntu1 amd64 Qt 5 GTK+ 3 platform theme
ii qt5-qmake:amd64 5.12.8+dfsg-0ubuntu1 amd64 Qt 5 qmake Makefile generator tool
ii qt5-qmake-bin 5.12.8+dfsg-0ubuntu1 amd64 Qt 5 qmake Makefile generator tool — binary file
ii qt5-qmltooling-plugins:amd64 5.12.8-0ubuntu1 amd64 Qt 5 qmltooling plugins
ii qtattributionsscanner-qt5 5.12.8-0ubuntu1 amd64 Qt 5 qtattributionsscanner tool
抱歉,这个不太准确grep
,但我不太擅长。此外,我怀疑我还有更多 Qt 内容,因为我刚刚发现,我的应用程序列表中有一些 Qt 条目,我不认为它们默认出现在系统中,也不认为它们严格与 python 相关。也许它们在 中列出dpkg --list | grep -e qt5 -e Qt5
,但我无法理解。我还附上了部分 shell 历史记录,以防它有助于更好地理解我所做的事情:
$ history | grep -e qt5 -e Qt5
1795 conda install PyQt5
1796 pip install PyQt5
1799 pip remove PyQt5
1800 pip uninstall PyQt5
1805 sudo apt-get install python3-pyqt5
1855 conda install PyQt5
1877 conda install pyqt5
1881 pip uninstall pyqt5
1885 conda uninstall PyQt5
1892 pip install PyQt5
1938 pip install pyqt5
1939 pip install PyQt5
我从中删除了所有不必要的命令(例如history
)。无论如何,当我在基础 conda 环境中的 Python 无法看到 Qt5 库时,我认为我的历史命令数为 1797-1798(请参阅上一节)
我想要的是
显然,我并没有完全理解自己在做什么,所以我想得到一些见解。我还想更好地了解如何确定 或 中列出的包dpkg
实际上conda
只是另一个包的一部分,例如上述 的所有实例pyqt5-sip
,因为我 100% 确定 从未在我的终端中写过“sip”。
谢谢!