【问题标题】:How do i get Mac 10.13 to install modules into a 3.x install instead of 2.7我如何让 Mac 10.13 将模块安装到 3.x 安装而不是 2.7
【发布时间】:2019-01-08 09:51:15
【问题描述】:

我正在尝试实际学习python。

我通过 easy_install 安装了 PIP,然后我想播放一些 mp3 文件,所以我在项目目录中通过 pip 安装了 eyed3。问题是它将模块安装到了 mac 标准的 python 2.7 中。我发现了这一点,因为它一直告诉我,当脚本由于缺少 libmagic 等库而无法运行时,无论我做什么,它都会将我安装的任何库放入 2.7 中,因此在运行 python3 时找不到。 我的问题是如何让我的系统几乎忽略 2.7 安装并使用我拥有的 3.7 安装。

我一直在想我做错了什么,因为大量教程轻而易举地通过它,到目前为止只有一个提到你在版本之间遇到冲突。我真的很想学习 python,希望能帮助我克服这个障碍。

【问题讨论】:

    标签: python eyed3 libmagic


    【解决方案1】:

    你试过pip3 install [module-name]吗?

    然后您应该能够使用pip3 freeze 检查您安装了哪些模块。

    【讨论】:

      【解决方案2】:

      假设您不使用虚拟环境(并且不愿意更改为这样做):


      保证安全的方法是永远不要将pip 作为脚本运行,只将其作为模块运行。这样,您就可以显式使用您尝试为其安装的任何 Python 安装中的 Python 可执行文件。

      例如,如果您使用python 运行 Apple 预安装的 Python 2.7,并使用 python3 运行您的 Python 3.7,只需执行以下操作:

      python3 -m pip install eyed3
      

      如果您只有一个 Python 2.x 和一个 Python 3.x,您几乎总是可以使用 2 和 3 后缀:

      pip3 install eyed3
      

      如果您有多个 2.x 或多个 3.x,但每个 .x 中只有一个,则通常可以使用 x.y 后缀:

      pip3.7 install eyed3
      

      让 macOS 用户更轻松的一件事:

      默认情况下,Apple 的预安装 Python 需要 sudo 来安装软件包,而 python.org、Homebrew 和许多其他第三方 Python 安装不需要。因此,如果您没有更改任何默认设置,并且小心不要将sudo 与pip 一起使用,那么您永远不会意外安装Apple 预装的Python;你只会得到一个 EPERM 错误,而不是误导性的成功。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-02
        • 2018-07-30
        • 1970-01-01
        • 1970-01-01
        • 2018-03-30
        • 2019-08-03
        • 1970-01-01
        • 2015-08-03
        相关资源
        最近更新 更多