我正在尝试将其安装selenium在从 github 克隆的新项目中。当我尝试使用PyCharm中的内置Python 包时,我得到以下信息:
AttributeError: module 'pkgutil' has no attribute 'ImpImporter'. Did you mean: 'zipimporter'?
操作系统:Ubuntu 22
Python版本:3.12.1
SO上已经有这样一个问题,但是那里的作者有Windows 11,尽管有 Linux 的答案,但由于某种原因,他们没有帮助我。我试过:
pip install --upgrade setuptoolspython -m pip install --user virtualenvvirtualenv your_virtual_environment --python=python3.12(随后激活)python3.12 -m pip install --upgrade setuptools
乃至sudo apt install python3.12-dev
我并不是特别精通 Linux,但我注意到当我切换到 3.10 版本(系统上最初安装的版本)时,一切正常。但安装 3.12 版本对我来说很重要。
先感谢您
更新:
完整错误文本:
Defaulting to user installation because normal site-packages is not writeable
ERROR: Exception:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/pip/_internal/cli/base_command.py", line 165, in exc_logging_wrapper
status = run_func(*args)
^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 205, in wrapper
return func(self, options, args)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/pip/_internal/commands/install.py", line 285, in run
session = self.get_default_session(options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 75, in get_default_session
self._session = self.enter_context(self._build_session(options))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py", line 89, in _build_session
session = PipSession(
^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/pip/_internal/network/session.py", line 282, in __init__
self.headers["User-Agent"] = user_agent()
^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/pip/_internal/network/session.py", line 157, in user_agent
setuptools_dist = get_default_environment().get_distribution("setuptools")
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/pip/_internal/metadata/__init__.py", line 24, in get_default_environment
from .pkg_resources import Environment
File "/usr/lib/python3/dist-packages/pip/_internal/metadata/pkg_resources.py", line 9, in <module>
from pip._vendor import pkg_resources
File "/usr/lib/python3/dist-packages/pip/_vendor/pkg_resources/__init__.py", line 2164, in <module>
register_finder(pkgutil.ImpImporter, find_on_path)
^^^^^^^^^^^^^^^^^^^
AttributeError: module 'pkgutil' has no attribute 'ImpImporter'. Did you mean: 'zipimporter'?
更新2:
当我在此 PC 上创建新项目时,在 3.12 上安装软件包可以正常工作,但如果我从 Git 克隆,则会出现上述问题
基于本文中的信息:How to Install Python 3.12 on Linux Mint 21 or 20(也应该适用于 Ubuntu)
添加 deadsnakes 存储库:
安装完整的软件包
python3.12-full:在任何情况下都不应更换系统解释器;否则会破坏系统。
接下来在项目中创建一个虚拟环境:
要检查一切是否正常,请激活环境
检查虚拟环境中的Python版本:
接下来,在 PyCharm 中打开项目,它应该会自动从虚拟环境中获取解释器。通过设置或Python Packages面板,添加selenium(和其他必要的依赖项),它应该安装成功: