我如何获得Mac 10.13将模块安装到3.x安装而不是2.7中

时间:2018-07-31 22:16:12

标签: python eyed3 libmagic

我正在尝试实际学习python。

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

我一直认为我做错了事,因为大量的教程轻而易举地困扰着它,到目前为止,只有一个提到版本之间存在冲突。我真的很想学习python,并且希望能获得一些帮助来克服这种障碍。

2 个答案:

答案 0 :(得分:0)

您尝试过pip3 install [module-name]吗?

然后,您应该可以使用pip3 freeze来检查安装了哪些模块。

答案 1 :(得分:0)

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


保证安全的方法是永远不要将pip作为脚本运行,而只能将其作为模块运行。这样,无论您要为其安装东西的任何Python安装,您都可以显式使用Python可执行文件。

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

python3 -m pip install eyed3

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

pip3 install eyed3

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

pip3.7 install eyed3

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

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