我正在运行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
答案 0 :(得分:2)
嗯......问题似乎在于苹果方面。我能够在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。不幸的是,在使用上述解决方案之后,我无法在本地重现该问题,所以我不能说它是否解决了问题。我建议先通过它,因为它似乎不那么具有侵入性。