Dea*_*nLa 1 python pip clang macos-high-sierra
我在跑步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
Run Code Online (Sandbox Code Playgroud)
完整错误:https : //pastebin.com/JZW1jRCy
嗯……看来问题出在苹果这边。我能够在带有 High Sierra 的 Macbook 上重现该问题。我发现这个关于Python的其他密码库,它们为我所用工作的解决方案在GitHub上的讨论。
$ env LDFLAGS="-L$(brew --prefix openssl)/lib" CFLAGS="-I$(brew --prefix openssl)/include" pip install scrypt==0.8.0
Run Code Online (Sandbox Code Playgroud)
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']
>>>
Run Code Online (Sandbox Code Playgroud)
但是,我看到该cryptography库在此处描述了替代解决方案。不幸的是,在使用上述解决方案后,我无法在本地重现该问题,所以我不能说它是否解决了问题。我建议先通过它,因为它似乎不那么具有侵入性。