终端运行Python时遇ModuleNotFoundError及site模块导入失败问题求助
解决Python无法导入site模块的问题
我之前也碰到过一模一样的报错,大概率是你的Anaconda Python环境的变量配置、用户站点目录权限或者核心文件出了问题,给你几个实用的解决步骤:
先排查环境变量问题
有时候误设置的PYTHONHOME或PYTHONPATH会干扰Python的正常加载。先在终端里检查这两个变量:echo $PYTHONHOME echo $PYTHONPATH如果输出了非预期的路径,先临时取消这些变量,再尝试启动Python:
unset PYTHONHOME unset PYTHONPATH python修复用户站点目录的权限或创建目录
报错里的getusersitepackages()函数是用来获取用户专属的site-packages目录的,这个目录不存在或者权限不对就会触发错误。- 先尝试手动创建默认的用户站点目录(对应你的Python3.6版本):
mkdir -p ~/Library/Python/3.6/lib/python/site-packages - 修复这个目录的所属权限:
chown -R joshlee:staff ~/Library/Python/3.6
- 先尝试手动创建默认的用户站点目录(对应你的Python3.6版本):
重新修复Anaconda的Python环境
既然用的是Anaconda,可能base环境里的Python核心文件被损坏了。试试重新安装Python3.6:conda activate base conda install python=3.6 --force-reinstall尝试新建一个干净的conda环境
如果上面的方法都无效,大概率是base环境本身出了问题。可以新建一个独立的Python3.6环境测试:conda create -n py36_env python=3.6 conda activate py36_env python如果这个新环境能正常运行,就可以把项目迁移到这个环境里使用。
内容的提问来源于stack exchange,提问作者josh lee
相关产品推荐
相关产品推荐

