【问题标题】:clang fails with pip install on macos在 macos 上安装 pip 时 clang 失败
【发布时间】:2018-05-19 08:01:28
【问题描述】:

我正在运行pip install scrypt==0.8.0
我收到以下错误:error: command '/usr/bin/clang' failed with exit status 1。 我安装了 xcode-select、gcc 等。当我尝试 cd 进入该文件夹时,它不存在并运行 clang --version 它给了我:

Apple LLVM version 9.0.0 (clang-900.0.38)
Target: x86_64-apple-darwin17.2.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

完全错误:https://pastebin.com/JZW1jRCy

【问题讨论】:

  • 如果您认为是导致问题的路径,您可以给我which clang 的输出吗?您是否尝试过建立软链接ln -s /usr/bin/clang /Library/Developer/CommandLineTools/usr/bin/clang
  • /usr/bin/clang。嗯……这很奇怪。
  • 这是错误信息所说的。为什么它很奇怪?
  • 不是。只是违背了我的直觉。我想这是一个不同的错误。
  • 完全错误:pastebin.com/JZW1jRCy

标签: python pip clang macos-high-sierra


【解决方案1】:

嗯...看来问题出在苹果这边。我能够在带有 High Sierra 的 Macbook 上重现该问题。我在 github 上找到了 this 讨论有关其他 python 加密库的讨论,他们使用的解决方案对我有用。

$  env LDFLAGS="-L$(brew --prefix openssl)/lib" CFLAGS="-I$(brew --prefix openssl)/include" pip install scrypt==0.8.0

Scrypt 安装没有任何问题,我可以在我的解释器中导入它:

$  python
Python 3.6.3 (default, Oct  4 2017, 06:09:15) 
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.37)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import scrypt
>>> dir(scrypt)
['ERROR_MESSAGES', 'IS_PY2', 'MAXMEMFRAC_DEFAULT', 'MAXMEM_DEFAULT', 'MAXTIME_DEFAULT', 'MAXTIME_DEFAULT_ENC', 'POINTER', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '__warningregistry__', '_crypto_scrypt', '_ensure_bytes', '_scrypt', '_scryptdec_buf', '_scryptenc_buf', 'c_char_p', 'c_double', 'c_int', 'c_size_t', 'c_uint32', 'c_uint64', 'cdll', 'create_string_buffer', 'decrypt', 'encrypt', 'error', 'hash', 'imp', 'os', 'pointer', 'sys']
>>>

但是,我看到 cryptography 库描述了替代解决方案 here。不幸的是,在使用上述解决方案后,我无法在本地重现该问题,所以我不能说它是否解决了问题。我建议先通过它,因为它似乎不那么具有侵入性。

【讨论】:

  • 我使用了最新的 scrypt 版本而不是 0.8.0。这很好用,谢谢@gonczor
  • 谢谢,这在 10.12.6 和 Python 3.7.4 上对我有用
  • 另外:此方法在指定 0.8.0 和最新的 scrypt(当前为 0.8.13)时运行良好。
  • 完美运行(y)
猜你喜欢
  • 2020-02-11
  • 1970-01-01
  • 2021-10-25
  • 2020-07-07
  • 2020-09-16
  • 1970-01-01
  • 2021-01-20
  • 2020-03-31
  • 2017-11-22
相关资源
最近更新 更多