已安装Python模块无法导入求助(含Selenium示例)
解决Python脚本导入第三方模块时的属性错误/循环导入问题
问题复现
在Windows 11、Python 3.11.1环境下,所有通过pip安装的第三方模块(如selenium)在脚本中导入时均报错:
AttributeError: partially initialized module 'selenium' has no attribute 'version' (most likely due to a circular import)
但在Python交互模式下执行相同代码(import selenium; print(selenium.__version__))却能正常运行,重装Python及模块后问题仍存在。
解决方案
1. 排查脚本文件名冲突
这是最常见的触发原因:
- 确保你的脚本文件名不能和要导入的第三方模块同名,比如不要将脚本命名为
selenium.py、requests.py等。Python导入模块时会优先搜索当前目录,同名文件会覆盖系统安装的正式模块,引发循环导入或属性缺失错误。 - 若已存在同名脚本,重命名后需删除当前目录下的
__pycache__文件夹(自动生成的缓存目录),避免残留缓存干扰。
2. 验证Python与pip的环境一致性
- 打开命令行,分别执行以下命令,确认两者指向的Python版本一致:
python --version pip --version - 若版本不一致,说明存在多Python环境冲突,需使用
python -m pip install [模块名]强制通过当前Python解释器对应的pip安装模块,例如:python -m pip install selenium
3. 检查模块安装路径与Python搜索路径
- 执行
pip show selenium查看模块的安装路径,示例输出:pip show selenium # 输出示例:Location: c:\users\xxx\appdata\local\programs\python\python311\lib\site-packages - 执行以下命令查看Python的模块搜索路径,确认上述安装路径在列表中:
python -c "import sys; print('\n'.join(sys.path))" - 若安装路径不在搜索列表中,需检查系统环境变量
PYTHONPATH是否配置正确,或重新安装Python时勾选"Add Python to PATH"选项。
4. 清理当前目录的干扰文件
检查脚本所在目录下是否存在与模块同名的.py、.pyc文件或文件夹,比如selenium.pyc、selenium文件夹,这些文件会干扰模块导入,需全部删除。
内容的提问来源于stack exchange,提问作者Ayush Agnihotri
相关产品推荐
相关产品推荐

