Python ImportError:没有名为site-mac的模块

Python ImportError:没有名为site-mac的模块,python,terminal,Python,Terminal,我已经有这个问题好几个月了。每次我想要获得一个新的python包并使用它时,我都会在terminal中遇到以下错误: ImportError: No module named site 我不知道为什么会出现这个错误。实际上,我不能使用任何新的软件包,因为每次我想安装一个软件包时,我都会遇到这个错误。我搜索了一下,发现问题出在PYTHONPATH和PYTHONHOME身上,但我不知道它们是什么,我怎样才能改变它们。 我的操作系统是mac os,我不知道如何在mac上解决这个问题 每次打开终端时,

我已经有这个问题好几个月了。每次我想要获得一个新的python包并使用它时,我都会在terminal中遇到以下错误:

ImportError: No module named site
我不知道为什么会出现这个错误。实际上,我不能使用任何新的软件包,因为每次我想安装一个软件包时,我都会遇到这个错误。我搜索了一下,发现问题出在PYTHONPATH和PYTHONHOME身上,但我不知道它们是什么,我怎样才能改变它们。 我的操作系统是mac os,我不知道如何在mac上解决这个问题

每次打开终端时,我都会使用以下两个命令来解决问题:

unset PYTHONHOME
unset PYTHONPATH

但是下次我再次遇到错误时。

Python工具正在Mac OS X中发展,以至于Python 2.7被弃用。升级到Mac OS X Catalina(10.15.X)后,系统默认路径可能不再适用。这里有几个场景:

  • 通用修复程序——根据,Python2.7需要站点包的特定用户路径。我决定的解决方案很简单:
    mkdir -p ~/.local/lib/python2.7/site-packages
    
    此时,您将有一个Python模块的专用目录(供Python运行)。(请注意,错误
    ImportError:No module named site
    具有误导性,因为它确实表明不存在正确的目录结构,无法正确加载
    site
    模块。)
  • BASIC ALTERNATIVE——您的
    PYTHONHOME
    是否指向Python3和您的
    python--version
    报告2.7
    python3--version
    是否报告了一些不同的东西(或者根本不起作用)?在Catalina升级之后,当我尝试使用内置时,这个错误就开始发生了。检查您的
    .profile
    .bash\u profile
    以查看它们是否明确设置了自定义的
    PYTHONHOME
    和/或
    PYTHONPATH
    。一个选项是更改它,以便仅当需要更新的Python时,才显式地手动设置
    ENV
    变量。可以考虑链接<代码> Python 3和<代码> PIP3将标准命令留给操作系统。
  • 调试——如果您想测试和/或获取更多信息,请尝试以一种越来越冗长的模式执行Python:
    python -v
    python -vv
    python -vvv
    

  • Python工具在Mac OS X中不断发展,以至于Python2.7被弃用。升级到Mac OS X Catalina(10.15.X)后,系统默认路径可能不再适用。这里有几个场景:

  • 通用修复程序——根据,Python2.7需要站点包的特定用户路径。我决定的解决方案很简单:
    mkdir -p ~/.local/lib/python2.7/site-packages
    
    此时,您将有一个Python模块的专用目录(供Python运行)。(请注意,错误
    ImportError:No module named site
    具有误导性,因为它确实表明不存在正确的目录结构,无法正确加载
    site
    模块。)
  • BASIC ALTERNATIVE——您的
    PYTHONHOME
    是否指向Python3和您的
    python--version
    报告2.7
    python3--version
    是否报告了一些不同的东西(或者根本不起作用)?在Catalina升级之后,当我尝试使用内置时,这个错误就开始发生了。检查您的
    .profile
    .bash\u profile
    以查看它们是否明确设置了自定义的
    PYTHONHOME
    和/或
    PYTHONPATH
    。一个选项是更改它,以便仅当需要更新的Python时,才显式地手动设置
    ENV
    变量。可以考虑链接<代码> Python 3和<代码> PIP3将标准命令留给操作系统。
  • 调试——如果您想测试和/或获取更多信息,请尝试以一种越来越冗长的模式执行Python:
    python -v
    python -vv
    python -vvv
    

  • 当你试图得到一个新的python包时,你到底在做什么?可能是@Green-scape-Guy的复制品:使用pip安装。例如,我想获得nilearn,我使用了以下命令:
    pip install-U--用户nilearn
    @LaurentPorte:它告诉了windows,而我不知道如何在mac上做到这一点?你尝试过完全重新安装python吗<据我所知,代码>站点包是基本/核心库之一,应该内置到python安装中。如果它不在那里,那么有些东西就坏了。当你试图获得一个新的python包时,你到底在做什么?可能是@Green斗篷盖的复制品:使用pip安装。例如,我想获得nilearn,我使用了以下命令:
    pip install-U--用户nilearn
    @LaurentPorte:它告诉了windows,而我不知道如何在mac上做到这一点?你尝试过完全重新安装python吗<据我所知,代码>站点包是基本/核心库之一,应该内置到python安装中。如果它不在那里,那么就有东西坏了。