【问题标题】:Unable to install simpleaudio with pip on Mac OS X无法在 Mac OS X 上使用 pip 安装 simpleaudio
【发布时间】:2017-07-19 11:09:58
【问题描述】:

当我尝试运行命令 pip install simpleaudio 时,它会在终端中返回:

Collecting simpleaudio
  Using cached simpleaudio-1.0.1.tar.gz
     Complete output from command python setup.py egg_info:
     Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/rm/1wlhdbc15tq591by9qnr4_180000gn/T/pip-build-3N7xxl/simpleaudio/setup.py", line 40, in <module>
        encoding='utf-8') as f:
     TypeError: 'encoding' is an invalid keyword argument for this function

     ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/rm/1wlhdbc15tq591by9qnr4_180000gn/T/pip-build-3N7xxl/simpleaudio/

如果我尝试使用python3 -m pip install simpleaudio 安装它,我会得到以下输出:

Collecting simpleaudio
  Using cached simpleaudio-1.0.1.tar.gz
Installing collected packages: simpleaudio
  Running setup.py install for simpleaudio ... error
    Complete output from command /Library/Frameworks/Python.framework/Versions/3.6/bin/python3 -u -c "import setuptools, tokenize;__file__='/private/var/folders/rm/1wlhdbc15tq591by9qnr4_180000gn/T/pip-build-1201y9fs/simpleaudio/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /var/folders/rm/1wlhdbc15tq591by9qnr4_180000gn/T/pip-yguvrnt6-record/install-record.txt --single-version-externally-managed --compile:
    running install
    running build
    running build_py
    creating build
    creating build/lib.macosx-10.6-intel-3.6
    creating build/lib.macosx-10.6-intel-3.6/simpleaudio
    copying simpleaudio/__init__.py -> build/lib.macosx-10.6-intel-3.6/simpleaudio
    copying simpleaudio/shiny.py -> build/lib.macosx-10.6-intel-3.6/simpleaudio
    copying simpleaudio/functionchecks.py -> build/lib.macosx-10.6-intel-3.6/simpleaudio
    creating build/lib.macosx-10.6-intel-3.6/simpleaudio/test_audio
    copying simpleaudio/test_audio/c.wav -> build/lib.macosx-10.6-intel-3.6/simpleaudio/test_audio
    copying simpleaudio/test_audio/e.wav -> build/lib.macosx-10.6-intel-3.6/simpleaudio/test_audio
    copying simpleaudio/test_audio/g.wav -> build/lib.macosx-10.6-intel-3.6/simpleaudio/test_audio
    copying simpleaudio/test_audio/left_right.wav -> build/lib.macosx-10.6-intel-3.6/simpleaudio/test_audio
    copying simpleaudio/test_audio/notes_2_16_44.wav -> build/lib.macosx-10.6-intel-3.6/simpleaudio/test_audio
    running build_ext
    building 'simpleaudio._simpleaudio' extension
    creating build/temp.macosx-10.6-intel-3.6
    creating build/temp.macosx-10.6-intel-3.6/c_src
    /usr/bin/clang -fno-strict-aliasing -Wsign-compare -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -arch i386 -arch x86_64 -g -DDEBUG=0 -I/Library/Frameworks/Python.framework/Versions/3.6/include/python3.6m -c c_src/simpleaudio_mac.c -o build/temp.macosx-10.6-intel-3.6/c_src/simpleaudio_mac.o -mmacosx-version-min=10.6
    xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
    error: command '/usr/bin/clang' failed with exit status 1

    ----------------------------------------
Command "/Library/Frameworks/Python.framework/Versions/3.6/bin/python3 -u -c "import setuptools, tokenize;__file__='/private/var/folders/rm/1wlhdbc15tq591by9qnr4_180000gn/T/pip-build-1201y9fs/simpleaudio/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /var/folders/rm/1wlhdbc15tq591by9qnr4_180000gn/T/pip-yguvrnt6-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /private/var/folders/rm/1wlhdbc15tq591by9qnr4_180000gn/T/pip-build-1201y9fs/simpleaudio/

我的 Python 版本是

Python 3.6.0 (v3.6.0:41df79263a11, Dec 22 2016, 17:23:13) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)]

如何为这个 Python 解释器安装 simpleaudio?

【问题讨论】:

  • 这看起来像是 Python 3 / Python 2 不兼容问题。你的 Mac 上安装了 Python 3 吗?如果是这样,您是否使用了正确版本的 pip?
  • 我使用的是 Python 3,因为这是 simpleaudio 运行所需要的——至少从我从他们的网站收集到的内容来看
  • 我假设你正在做这样的事情:pip install simpleaudio。相反,试试这个:python3 -m pip install simpleaudio.
  • 我使用的是 Linux,而不是 Mac,所以我不确定您需要做什么才能正确安装。在 Linux 上,您必须在 root 用户模式下执行此操作(即使用 sudo)或安装到 virtualenv。理想情况下,您也可以安装到 Mac 上的虚拟环境中,例如使用 Anaconda,但您需要从 Mac 用户那里获得更多详细信息。 ;)
  • @PM2Ring 使用python3 -m pip install simpleaudio时仍然返回错误

标签: python macos pip


【解决方案1】:

@Zonear 的 link 说...

禁用“系统完整性保护”,以便 root 可以修改 Mac 上的所有文件:

Boot into recovery mode (hold [Command]+R during reboot)
In Terminal (from dropdown menu) run `csrutil disable`
Reboot

修复/usr/local的权限:

sudo chflags norestricted /usr/local
sudo chown $(whoami):admin /usr/local
sudo chown -R $(whoami):admin /usr/local

重新安装 xcode 开发者工具:

sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install

检查自制程序并按照医生的指示做:

brew update
brew doctor

升级所有 brew 安装的软件包:

brew upgrade

如果git --version 提到“Apple Git”,您需要删除它:

sudo mv /usr/bin/git /usr/bin/git.xcode
sudo ln -s /usr/local/git/bin/git /usr/bin/git

下载并重新安装gpgtools

买一台 Linux 笔记本电脑!

【讨论】:

    最近更新 更多