python 中 dist-packages 和 site-packages 的区别

本文详细解析了Python库安装路径的区别,包括site-packages与dist-packages,并介绍了常用的包管理工具及其功能,如easy_install、setuptools、pip等。同时,提供了如何通过命令获取当前Python库路径的方法。

site-packages 和 dist-packages 的区别

dist-packages is a Debian-specific convention that is also present in its derivatives, like Ubuntu. Modules are installed to dist-packages when they come from the Debian package manager into this location:/usr/lib/python2.7/dist-packages

dist-packages 是 Debian特定惯例,这也存在于像是ubuntu上(ubuntu 是从 debian衍生来的)。 如果使用Debian软件管理器安装, 模块将被安装到 dist-packages 
查看python库路径:

<code class="language-python hljs  has-numbering" style="display: block; padding: 0px; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-keyword" style="margin: 0px; padding: 0px; color: rgb(0, 0, 136); box-sizing: border-box;">from</span> distutils.sysconfig <span class="hljs-keyword" style="margin: 0px; padding: 0px; color: rgb(0, 0, 136); box-sizing: border-box;">import</span> get_python_lib
print(get_python_lib())</code><ul class="pre-numbering" style="margin: 0px; padding: 6px 0px 40px; box-sizing: border-box; position: absolute; width: 50px; top: 0px; left: 0px; border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221); list-style: none; text-align: right; background-color: rgb(238, 238, 238);"><li style="margin: 0px; padding: 0px 5px; box-sizing: border-box;">1</li><li style="margin: 0px; padding: 0px 5px; box-sizing: border-box;">2</li></ul>

Since easy_install and pip are installed from the package manager, they also use dist-packages, but they put packages here: /usr/local/lib/python2.7/dist-packages 
自从 easy_install 和 pip (注: 是python的软件管理其,python有许许多多的软件) 使用,他们也使用 dist-packages,但是 路径是:/usr/local/lib/python2.7/dist-packages

根据现实场景:

  • sudo apt-get install 安装的package存放在 /usr/lib/python2.7/dist-packages目录中

  • pip 或者 easy_install安装的package存放在/usr/local/lib/python2.7/dist-packages目录

  • 手动从源代码安装的package存放在site-packages目录中

顺带说下包管理工具

Python的包管理工具常见的有easy_install, setuptools, 还有pip, distribute可以看到distribute是setuptools的替代方案,pip是easy_install的替代方案. 而setuptools 和 easy_install 已经越来越不被维护了,所以建议大家试用他们的替代版, 而如果要说 distribute 和 pip 的区别,那么就是pip 的底层实现调用了 distribute 或者 setuptools

转载自:http://blog.youkuaiyun.com/huiseguiji1/article/details/45111891

user0601@LAPTOP-99GE7DPK:~$ # 检查默认 Python 版本 python3 --version # 查看 PyQt5 安装路径 dpkg -L python3-pyqt5 | grep PyQt5 Python 3.12.3 /usr/lib/python3/dist-packages/PyQt5 /usr/lib/python3/dist-packages/PyQt5/Qt.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtCore.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtCore.pyi /usr/lib/python3/dist-packages/PyQt5/QtDBus.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtDBus.pyi /usr/lib/python3/dist-packages/PyQt5/QtDesigner.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtDesigner.pyi /usr/lib/python3/dist-packages/PyQt5/QtGui.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtGui.pyi /usr/lib/python3/dist-packages/PyQt5/QtHelp.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtHelp.pyi /usr/lib/python3/dist-packages/PyQt5/QtNetwork.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtNetwork.pyi /usr/lib/python3/dist-packages/PyQt5/QtPrintSupport.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtPrintSupport.pyi /usr/lib/python3/dist-packages/PyQt5/QtTest.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtTest.pyi /usr/lib/python3/dist-packages/PyQt5/QtWidgets.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtWidgets.pyi /usr/lib/python3/dist-packages/PyQt5/QtXml.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtXml.pyi /usr/lib/python3/dist-packages/PyQt5/__init__.py /usr/lib/python3/dist-packages/PyQt5/py.typed /usr/lib/python3/dist-packages/PyQt5/sip.pyi /usr/lib/python3/dist-packages/PyQt5/uic /usr/lib/python3/dist-packages/PyQt5/uic/Compiler /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/__init__.py /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/compiler.py /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/indenter.py /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/misc.py /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/proxy_metaclass.py /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/qobjectcreator.py /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/qtproxies.py /usr/lib/python3/dist-packages/PyQt5/uic/Loader /usr/lib/python3/dist-packages/PyQt5/uic/Loader/__init__.py /usr/lib/python3/dist-packages/PyQt5/uic/Loader/loader.py /usr/lib/python3/dist-packages/PyQt5/uic/Loader/qobjectcreator.py /usr/lib/python3/dist-packages/PyQt5/uic/__init__.py /usr/lib/python3/dist-packages/PyQt5/uic/driver.py /usr/lib/python3/dist-packages/PyQt5/uic/exceptions.py /usr/lib/python3/dist-packages/PyQt5/uic/icon_cache.py /usr/lib/python3/dist-packages/PyQt5/uic/objcreator.py /usr/lib/python3/dist-packages/PyQt5/uic/port_v3 /usr/lib/python3/dist-packages/PyQt5/uic/port_v3/__init__.py /usr/lib/python3/dist-packages/PyQt5/uic/port_v3/as_string.py /usr/lib/python3/dist-packages/PyQt5/uic/port_v3/ascii_upper.py /usr/lib/python3/dist-packages/PyQt5/uic/port_v3/proxy_base.py /usr/lib/python3/dist-packages/PyQt5/uic/port_v3/string_io.py /usr/lib/python3/dist-packages/PyQt5/uic/properties.py /usr/lib/python3/dist-packages/PyQt5/uic/pyuic.py /usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qaxcontainer.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qscintilla.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qtcharts.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qtprintsupport.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qtquickwidgets.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qtwebenginewidgets.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qtwebkit.py /usr/lib/python3/dist-packages/PyQt5-5.15.10.dist-info /usr/lib/python3/dist-packages/PyQt5-5.15.10.dist-info/INSTALLER /usr/lib/python3/dist-packages/PyQt5-5.15.10.dist-info/METADATA user0601@LAPTOP-99GE7DPK:~$ ^C user0601@LAPTOP-99GE7DPK:~$ # 检查 APT 安装的 PyQt5 路径 dpkg -L python3-pyqt5 | grep -E "PyQt5.*\.py" /usr/lib/python3/dist-packages/PyQt5/QtCore.pyi /usr/lib/python3/dist-packages/PyQt5/QtDBus.pyi /usr/lib/python3/dist-packages/PyQt5/QtDesigner.pyi /usr/lib/python3/dist-packages/PyQt5/QtGui.pyi /usr/lib/python3/dist-packages/PyQt5/QtHelp.pyi /usr/lib/python3/dist-packages/PyQt5/QtNetwork.pyi /usr/lib/python3/dist-packages/PyQt5/QtPrintSupport.pyi /usr/lib/python3/dist-packages/PyQt5/QtTest.pyi /usr/lib/python3/dist-packages/PyQt5/QtWidgets.pyi /usr/lib/python3/dist-packages/PyQt5/QtXml.pyi /usr/lib/python3/dist-packages/PyQt5/__init__.py /usr/lib/python3/dist-packages/PyQt5/sip.pyi /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/__init__.py /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/compiler.py /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/indenter.py /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/misc.py /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/proxy_metaclass.py /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/qobjectcreator.py /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/qtproxies.py /usr/lib/python3/dist-packages/PyQt5/uic/Loader/__init__.py /usr/lib/python3/dist-packages/PyQt5/uic/Loader/loader.py /usr/lib/python3/dist-packages/PyQt5/uic/Loader/qobjectcreator.py /usr/lib/python3/dist-packages/PyQt5/uic/__init__.py /usr/lib/python3/dist-packages/PyQt5/uic/driver.py /usr/lib/python3/dist-packages/PyQt5/uic/exceptions.py /usr/lib/python3/dist-packages/PyQt5/uic/icon_cache.py /usr/lib/python3/dist-packages/PyQt5/uic/objcreator.py /usr/lib/python3/dist-packages/PyQt5/uic/port_v3/__init__.py /usr/lib/python3/dist-packages/PyQt5/uic/port_v3/as_string.py /usr/lib/python3/dist-packages/PyQt5/uic/port_v3/ascii_upper.py /usr/lib/python3/dist-packages/PyQt5/uic/port_v3/proxy_base.py /usr/lib/python3/dist-packages/PyQt5/uic/port_v3/string_io.py /usr/lib/python3/dist-packages/PyQt5/uic/properties.py /usr/lib/python3/dist-packages/PyQt5/uic/pyuic.py /usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qaxcontainer.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qscintilla.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qtcharts.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qtprintsupport.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qtquickwidgets.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qtwebenginewidgets.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qtwebkit.py user0601@LAPTOP-99GE7DPK:~$ ^C user0601@LAPTOP-99GE7DPK:~$ # 获取当前 Python 版本(例如 3.10) PY_VER=$(python3 -c "import sys; print(f'python{sys.version_info.major}.{sys.version_info.minor}')") # 创建符号链接到正确路径 sudo ln -s /usr/lib/python3/dist-packages/PyQt5 /usr/lib/${PY_VER}/dist-packages/PyQt5 sudo ln -s /usr/lib/python3/dist-packages/sip* /usr/lib/${PY_VER}/dist-packages/ ln: failed to create symbolic link '/usr/lib/python3.12/dist-packages/PyQt5': No such file or directory ln: failed to create symbolic link '/usr/lib/python3.12/dist-packages/': No such file or directory user0601@LAPTOP-99GE7DPK:~$
09-25
# 查看 PyQt5 安装路径 dpkg -L python3-pyqt5 | grep PyQt5 Python 3.12.3 /usr/lib/python3/dist-packages/PyQt5 /usr/lib/python3/dist-packages/PyQt5/Qt.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtCore.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtCore.pyi /usr/lib/python3/dist-packages/PyQt5/QtDBus.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtDBus.pyi /usr/lib/python3/dist-packages/PyQt5/QtDesigner.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtDesigner.pyi /usr/lib/python3/dist-packages/PyQt5/QtGui.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtGui.pyi /usr/lib/python3/dist-packages/PyQt5/QtHelp.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtHelp.pyi /usr/lib/python3/dist-packages/PyQt5/QtNetwork.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtNetwork.pyi /usr/lib/python3/dist-packages/PyQt5/QtPrintSupport.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtPrintSupport.pyi /usr/lib/python3/dist-packages/PyQt5/QtTest.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtTest.pyi /usr/lib/python3/dist-packages/PyQt5/QtWidgets.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtWidgets.pyi /usr/lib/python3/dist-packages/PyQt5/QtXml.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtXml.pyi /usr/lib/python3/dist-packages/PyQt5/__init__.py /usr/lib/python3/dist-packages/PyQt5/py.typed /usr/lib/python3/dist-packages/PyQt5/sip.pyi /usr/lib/python3/dist-packages/PyQt5/uic /usr/lib/python3/dist-packages/PyQt5/uic/Compiler /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/__init__.py /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/compiler.py /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/indenter.py /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/misc.py /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/proxy_metaclass.py /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/qobjectcreator.py /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/qtproxies.py /usr/lib/python3/dist-packages/PyQt5/uic/Loader /usr/lib/python3/dist-packages/PyQt5/uic/Loader/__init__.py /usr/lib/python3/dist-packages/PyQt5/uic/Loader/loader.py /usr/lib/python3/dist-packages/PyQt5/uic/Loader/qobjectcreator.py /usr/lib/python3/dist-packages/PyQt5/uic/__init__.py /usr/lib/python3/dist-packages/PyQt5/uic/driver.py /usr/lib/python3/dist-packages/PyQt5/uic/exceptions.py /usr/lib/python3/dist-packages/PyQt5/uic/icon_cache.py /usr/lib/python3/dist-packages/PyQt5/uic/objcreator.py /usr/lib/python3/dist-packages/PyQt5/uic/port_v3 /usr/lib/python3/dist-packages/PyQt5/uic/port_v3/__init__.py /usr/lib/python3/dist-packages/PyQt5/uic/port_v3/as_string.py /usr/lib/python3/dist-packages/PyQt5/uic/port_v3/ascii_upper.py /usr/lib/python3/dist-packages/PyQt5/uic/port_v3/proxy_base.py /usr/lib/python3/dist-packages/PyQt5/uic/port_v3/string_io.py /usr/lib/python3/dist-packages/PyQt5/uic/properties.py /usr/lib/python3/dist-packages/PyQt5/uic/pyuic.py /usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qaxcontainer.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qscintilla.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qtcharts.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qtprintsupport.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qtquickwidgets.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qtwebenginewidgets.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qtwebkit.py /usr/lib/python3/dist-packages/PyQt5-5.15.10.dist-info /usr/lib/python3/dist-packages/PyQt5-5.15.10.dist-info/INSTALLER /usr/lib/python3/dist-packages/PyQt5-5.15.10.dist-info/METADATA user0601@LAPTOP-99GE7DPK:~$
09-25
# 查看 PyQt5 安装路径 dpkg -L python3-pyqt5 | grep PyQt5 Python 3.12.3 /usr/lib/python3/dist-packages/PyQt5 /usr/lib/python3/dist-packages/PyQt5/Qt.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtCore.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtCore.pyi /usr/lib/python3/dist-packages/PyQt5/QtDBus.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtDBus.pyi /usr/lib/python3/dist-packages/PyQt5/QtDesigner.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtDesigner.pyi /usr/lib/python3/dist-packages/PyQt5/QtGui.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtGui.pyi /usr/lib/python3/dist-packages/PyQt5/QtHelp.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtHelp.pyi /usr/lib/python3/dist-packages/PyQt5/QtNetwork.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtNetwork.pyi /usr/lib/python3/dist-packages/PyQt5/QtPrintSupport.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtPrintSupport.pyi /usr/lib/python3/dist-packages/PyQt5/QtTest.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtTest.pyi /usr/lib/python3/dist-packages/PyQt5/QtWidgets.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtWidgets.pyi /usr/lib/python3/dist-packages/PyQt5/QtXml.abi3.so /usr/lib/python3/dist-packages/PyQt5/QtXml.pyi /usr/lib/python3/dist-packages/PyQt5/__init__.py /usr/lib/python3/dist-packages/PyQt5/py.typed /usr/lib/python3/dist-packages/PyQt5/sip.pyi /usr/lib/python3/dist-packages/PyQt5/uic /usr/lib/python3/dist-packages/PyQt5/uic/Compiler /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/__init__.py /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/compiler.py /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/indenter.py /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/misc.py /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/proxy_metaclass.py /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/qobjectcreator.py /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/qtproxies.py /usr/lib/python3/dist-packages/PyQt5/uic/Loader /usr/lib/python3/dist-packages/PyQt5/uic/Loader/__init__.py /usr/lib/python3/dist-packages/PyQt5/uic/Loader/loader.py /usr/lib/python3/dist-packages/PyQt5/uic/Loader/qobjectcreator.py /usr/lib/python3/dist-packages/PyQt5/uic/__init__.py /usr/lib/python3/dist-packages/PyQt5/uic/driver.py /usr/lib/python3/dist-packages/PyQt5/uic/exceptions.py /usr/lib/python3/dist-packages/PyQt5/uic/icon_cache.py /usr/lib/python3/dist-packages/PyQt5/uic/objcreator.py /usr/lib/python3/dist-packages/PyQt5/uic/port_v3 /usr/lib/python3/dist-packages/PyQt5/uic/port_v3/__init__.py /usr/lib/python3/dist-packages/PyQt5/uic/port_v3/as_string.py /usr/lib/python3/dist-packages/PyQt5/uic/port_v3/ascii_upper.py /usr/lib/python3/dist-packages/PyQt5/uic/port_v3/proxy_base.py /usr/lib/python3/dist-packages/PyQt5/uic/port_v3/string_io.py /usr/lib/python3/dist-packages/PyQt5/uic/properties.py /usr/lib/python3/dist-packages/PyQt5/uic/pyuic.py /usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qaxcontainer.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qscintilla.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qtcharts.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qtprintsupport.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qtquickwidgets.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qtwebenginewidgets.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qtwebkit.py /usr/lib/python3/dist-packages/PyQt5-5.15.10.dist-info /usr/lib/python3/dist-packages/PyQt5-5.15.10.dist-info/INSTALLER /usr/lib/python3/dist-packages/PyQt5-5.15.10.dist-info/METADATA user0601@LAPTOP-99GE7DPK:~$ ^C user0601@LAPTOP-99GE7DPK:~$ # 检查 APT 安装的 PyQt5 路径 dpkg -L python3-pyqt5 | grep -E "PyQt5.*\.py" /usr/lib/python3/dist-packages/PyQt5/QtCore.pyi /usr/lib/python3/dist-packages/PyQt5/QtDBus.pyi /usr/lib/python3/dist-packages/PyQt5/QtDesigner.pyi /usr/lib/python3/dist-packages/PyQt5/QtGui.pyi /usr/lib/python3/dist-packages/PyQt5/QtHelp.pyi /usr/lib/python3/dist-packages/PyQt5/QtNetwork.pyi /usr/lib/python3/dist-packages/PyQt5/QtPrintSupport.pyi /usr/lib/python3/dist-packages/PyQt5/QtTest.pyi /usr/lib/python3/dist-packages/PyQt5/QtWidgets.pyi /usr/lib/python3/dist-packages/PyQt5/QtXml.pyi /usr/lib/python3/dist-packages/PyQt5/__init__.py /usr/lib/python3/dist-packages/PyQt5/sip.pyi /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/__init__.py /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/compiler.py /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/indenter.py /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/misc.py /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/proxy_metaclass.py /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/qobjectcreator.py /usr/lib/python3/dist-packages/PyQt5/uic/Compiler/qtproxies.py /usr/lib/python3/dist-packages/PyQt5/uic/Loader/__init__.py /usr/lib/python3/dist-packages/PyQt5/uic/Loader/loader.py /usr/lib/python3/dist-packages/PyQt5/uic/Loader/qobjectcreator.py /usr/lib/python3/dist-packages/PyQt5/uic/__init__.py /usr/lib/python3/dist-packages/PyQt5/uic/driver.py /usr/lib/python3/dist-packages/PyQt5/uic/exceptions.py /usr/lib/python3/dist-packages/PyQt5/uic/icon_cache.py /usr/lib/python3/dist-packages/PyQt5/uic/objcreator.py /usr/lib/python3/dist-packages/PyQt5/uic/port_v3/__init__.py /usr/lib/python3/dist-packages/PyQt5/uic/port_v3/as_string.py /usr/lib/python3/dist-packages/PyQt5/uic/port_v3/ascii_upper.py /usr/lib/python3/dist-packages/PyQt5/uic/port_v3/proxy_base.py /usr/lib/python3/dist-packages/PyQt5/uic/port_v3/string_io.py /usr/lib/python3/dist-packages/PyQt5/uic/properties.py /usr/lib/python3/dist-packages/PyQt5/uic/pyuic.py /usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qaxcontainer.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qscintilla.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qtcharts.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qtprintsupport.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qtquickwidgets.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qtwebenginewidgets.py /usr/lib/python3/dist-packages/PyQt5/uic/widget-plugins/qtwebkit.py user0601@LAPTOP-99GE7DPK:~$ ^C user0601@LAPTOP-99GE7DPK:~$ # 获取当前 Python 版本(例如 3.10) PY_VER=$(python3 -c "import sys; print(f'python{sys.version_info.major}.{sys.version_info.minor}')") # 创建符号链接到正确路径 sudo ln -s /usr/lib/python3/dist-packages/PyQt5 /usr/lib/${PY_VER}/dist-packages/PyQt5 sudo ln -s /usr/lib/python3/dist-packages/sip* /usr/lib/${PY_VER}/dist-packages/ ln: failed to create symbolic link '/usr/lib/python3.12/dist-packages/PyQt5': No such file or directory ln: failed to create symbolic link '/usr/lib/python3.12/dist-packages/': No such file or directory user0601@LAPTOP-99GE7DPK:~$ python3.12 --version Python 3.12.3 user0601@LAPTOP-99GE7DPK:~$ sudo mkdir -p /usr/lib/python3.12/dist-packages user0601@LAPTOP-99GE7DPK:~$ ls -ld /usr/lib/python3.12/dist-packages drwxr-xr-x 2 root root 4096 Sep 24 21:22 /usr/lib/python3.12/dist-packages user0601@LAPTOP-99GE7DPK:~$ sudo ln -s /usr/lib/python3/dist-packages/PyQt5 /usr/lib/python3.12/dist-packages/PyQt5 user0601@LAPTOP-99GE7DPK:~$ ls -l /usr/lib/python3.12/dist-packages/PyQt5 lrwxrwxrwx 1 root root 36 Sep 24 21:23 /usr/lib/python3.12/dist-packages/PyQt5 -> /usr/lib/python3/dist-packages/PyQt5 user0601@LAPTOP-99GE7DPK:~$ python3 1.0.py python3: can't open file '/home/user0601/1.0.py': [Errno 2] No such file or directory user0601@LAPTOP-99GE7DPK:~$ python3 1.0.py Traceback (most recent call last): File "/home/user0601/1.0.py", line 6, in <module> from PyQt5.QtWidgets import ( ModuleNotFoundError: No module named 'PyQt5' user0601@LAPTOP-99GE7DPK:~$ python3.12 -m pip install PyQt5 error: externally-managed-environment × This environment is externally managed ╰─> To install Python packages system-wide, try apt install python3-xyz, where xyz is the package you are trying to install. If you wish to install a non-Debian-packaged Python package, create a virtual environment using python3 -m venv path/to/venv. Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make sure you have python3-full installed. If you wish to install a non-Debian packaged Python application, it may be easiest to use pipx install xyz, which will manage a virtual environment for you. Make sure you have pipx installed. See /usr/share/doc/python3.12/README.venv for more information. note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages. hint: See PEP 668 for the detailed specification. user0601@LAPTOP-99GE7DPK:~$
最新发布
09-25
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值