2017-12-05 3 views
0

Ich bin pip install scrypt==0.8.0 ausgeführt.
Ich bekomme den folgenden Fehler: error: command '/usr/bin/clang' failed with exit status 1. Ich habe xcode-select, gcc usw. installiert. wenn ich zu cd in diesen Ordner versuchen, existiert es nicht und clang --version läuft es gibt mir:Clng schlägt mit Pip Installation auf MacOS

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 

voller Fehler: https://pastebin.com/JZW1jRCy

+0

Wenn Sie denken, dass es der Pfad ist, der das Problem verursacht, können Sie mir die Ausgabe von 'what clang' geben? Und haben Sie versucht, einen weichen Link zu erstellen? Ln -s/usr/bin/clang/Bibliothek/Entwickler/CommandLineTools/usr/bin/clang? – gonczor

+0

'/ usr/bin/clang'. naja ... das ist komisch. – DeanLa

+0

Es ist, was die Fehlermeldung sagte. Warum ist es verlockt? – gonczor

Antwort

0

Nun ... Es scheint, dass das Problem auf Apples Seite liegt. Ich konnte das Problem auf meinem Macbook mit High Sierra reproduzieren. Ich fand this Diskussion über Github in Bezug auf andere kryptographische Bibliothek für Python und die Lösung, die sie für mich gearbeitet haben.

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

Scrypt installiert ohne Probleme und ich konnte es in meinem Dolmetscher importieren:

$ 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'] 
>>> 

Ich sehe aber, dass cryptography Bibliothek here alternative Lösung beschreibt. Leider konnte ich das Problem nicht lokal reproduzieren, nachdem ich die erwähnte Lösung verwendet habe, so dass ich nicht sagen kann, ob es das Problem löst. Ich würde vorschlagen, es zuerst durchzugehen, da es weniger aufdringlich scheint.