导入plotnine与binsreg时statsmodels版本导入错误求助
解决思路
排查命名空间冲突
检查当前工作目录下是否存在名为statsmodels.py的文件或statsmodels文件夹,这类本地文件会干扰系统官方包的导入。如果有,立即重命名。
验证导入的statsmodels路径是否正确:import statsmodels print(statsmodels.__file__)输出应指向
/usr/local/lib/python3.9/site-packages/statsmodels/,而非当前工作目录。清理缓存并重装指定版本
彻底清理旧安装残留后,重装与你本地_version.py匹配的版本:pip uninstall -y statsmodels # 手动删除残留的包目录和信息文件(按需执行) rm -rf /usr/local/lib/python3.9/site-packages/statsmodels rm -rf /usr/local/lib/python3.9/site-packages/statsmodels-*.dist-info # 重装指定版本 pip install statsmodels==0.13.5若仍有问题,尝试跳过构建隔离,避免setuptools_scm的潜在干扰:
pip install --no-build-isolation statsmodels==0.13.5检查文件读取权限
确认_version.py的读取权限是否正常:ls -l /usr/local/lib/python3.9/site-packages/statsmodels/_version.py若当前用户无读权限,可执行:
sudo chmod +r /usr/local/lib/python3.9/site-packages/statsmodels/_version.py使用虚拟环境隔离依赖
系统级Python易出现依赖冲突,建议创建独立虚拟环境后重新安装所有需要的包:# 创建虚拟环境 python3.9 -m venv statsmodels_env # 激活环境(Linux/macOS) source statsmodels_env/bin/activate # Windows系统执行:statsmodels_env\Scripts\activate # 安装所需依赖 pip install statsmodels==0.13.5 plotnine binsreg临时排除当前目录干扰验证
在Python交互环境中先移除当前目录的导入优先级,再测试导入:import sys sys.path.remove('.') # 移除当前目录的导入优先级 from statsmodels._version import __version__, __version_tuple__ print(__version__)
内容的提问来源于stack exchange,提问作者gfgm
相关产品推荐
相关产品推荐

