如何在Mac OS X上安装加密程序?

2024-09-30 16:30:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我的操作系统:Mac OS X El Capitan

当我像这样安装加密技术时:

pip install cryptography==0.2.1

错误是:

^{pr2}$

我确信我已将openssl升级到最新版本:

$ openssl version
OpenSSL 1.0.2f  28 Jan 2016

但我不知道怎么解决它。就连我都查过官方文件:

https://cryptography.io/en/latest/installation/#building-cryptography-on-os-x

然后照这个做,结果是一样的。在


Tags: installpip版本osversionmac错误el
3条回答

brew救命:

brew install openssl

然后brew给出一个提示:

苹果公司反对使用OpenSSL,转而使用自己的TLS和加密库

一般来说,这对你没有任何后果。如果你建立 自己的软件,它需要这个公式,你需要添加到你的 生成变量:

^{pr2}$

因此,只需导出这些环境变量,然后重新运行您最喜欢的pip安装(或者为了避免将来的破坏,请在您的~/.bash_profile中添加以下内容:

export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"
export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig"

这对我很有帮助!在

我在这方面做了几乎所有的尝试,但仍然出现以下错误: ... SWIG/_m2crypto_wrap.c:5258:12:警告:隐式转换丢失整数精度:“long”到“int”[-Wshorten-64-to-32] 返回(BIO-handshaku); ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~ /usr/local/opt/openssl/include/openssl/bio.h:502:34:注意:从宏“bio\u do\u handshake”展开 #define BIO\u握手(b)BIO\u ctrl(b,BIO\u do\u STATE_MACHINE,0,NULL) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SWIG/_m2crypto_wrap.c:7640:12:警告:隐式转换丢失整数精度:“long”到“int”[-Wshorten-64-to-32] return BIO_ctrl(BIO,BIO_C_SET_SSL,flag,(char*)SSL); ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SWIG/_m2crypto_wrap.c:7699:19:警告:隐式转换丢失整数精度:“unsigned long”到“int”[-Wshorten-64-to-32] err=err_get_error(); ~ ^~~~~~~~~~~~~~~ SWIG/_m2crypto_wrap.c:7751:59:警告:隐式转换丢失整数精度:“long”到“int”[-Wshorten-64-to-32] ms=((开始->;电视秒+(int)超时)-电视电视秒)*1000个; ~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~ SWIG/_m2crypto_wrap.c:7996:19:警告:隐式转换丢失整数精度:“unsigned long”到“int”[-Wshorten-64-to-32] err=err_get_error(); ~ ^~~~~~~~~~~~~~~ SWIG/_m2crypto_wrap.c:8026:37:警告:隐式转换丢失整数精度:“Py_ssize_t”(又名“long”)到“int”[-Wshorten-64-to-32] r=SSL写入(SSL,不,不,不, 布夫·伦); ~~~~~~~~~ ~~~~^~~ SWIG/_m2crypto_wrap.c:8069:37:警告:隐式转换丢失整数精度:“Py_ssize_t”(又名“long”)到“int”[-Wshorten-64-to-32] r=SSL写入(SSL,不,不,不, 布夫·伦); ~~~~~~~~~ ~~~~^~~ SWIG/_m2crypto_wrap.c:8087:19:警告:隐式转换丢失整数精度:“unsigned long”到“int”[-Wshorten-64-to-32] err=err_get_error(); ~ ^~~~~~~~~~~~~~~ SWIG/_m2crypto_wrap.c:8143:12:警告:隐式转换丢失整数精度:“long”到“int”[-Wshorten-64-to-32] 返回SSL_CTX_set_session_cache_mode(CTX,mode); ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/opt/openssl/include/openssl/ssl.h:2484:9:注意:从宏“ssl”“CTX”“set”“session”“cache”“mode”展开 SSL_CTX_ctrl(CTX,SSL_ctrl_SET_SESS_CACHE_MODE,m,NULL) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SWIG/_m2crypto_wrap.c:8148:12:警告:隐式转换丢失整数精度:“long”到“int”[-Wshorten-64-to-32] 返回SSL_CTX_get_session_cache_mode(CTX); ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/opt/openssl/include/openssl/ssl.h:2486:9:注意:从宏“ssl”“CTX”“get”“session”“cache”“mode”展开 SSL_CTX_ctrl(CTX,SSL_ctrl_GET_SESS_CACHE_模式,0,NULL) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ SWIG/_m2crypto_wrap.c:8680:14:警告:隐式转换丢失整数精度:“size_t”(又名“unsigned long”)到“int”[-Wshorten-64-to-32] outlen=BIO\u ctrl_挂起(BIO); ~ ^~~~~~~~~~~~~~~~~~~~~ SWIG/_m2crypto_wrap.c:8742:14:警告:隐式转换丢失整数精度:“size_t”(又名“unsigned long”)到“int”[-Wshorten-64-to-32] outlen=BIO\u ctrl_挂起(BIO); ~ ^~~~~~~~~~~~~~~~~~~~~ SWIG/_m2crypto_wrap.c:22694:14:警告:隐式转换丢失整数精度:“Py_ssize_t”(又名“long”)到“int”[-Wshorten-64-to-32] arg4=长度; ~ ^~~ SWIG/_m2crypto_wrap.c:25282:14:警告:隐式转换丢失整数精度:“Py_ssize_t”(又名“long”)到“int”[-Wshorten-64-to-32] arg3=长度; ~ ^~~ 21警告s生成。 SWIG/_m2crypto_wrap.c:2894:9:警告:只要“if”条件为true,变量“res”就未初始化使用[-Wsometimes uninitialized] if(PyType_Ready(tp)<;0) ^~~~~~~~~~~~~~~~~~~~ SWIG/\u m2crypto_wrap.c:2918:10:注意:此处发生未初始化的使用 返回res; ^~~ SWIG/_m2crypto_wrap.c:2894:5:注意:如果条件始终为false,请删除“if” if(PyType_Ready(tp)<;0) ^~~~~~~~~~~~~~~~~~~~~~~~~ SWIG/\u m2crypto_wrap.c:2875:10:注意:初始化变量'res'以使此警告静音 利息; ^ =0 已生成1个警告。 cc-bundle-undefined dynamic_lookup-arch x86_64-arch i386-Wl,-F.-L/usr/local/opt/openssl/lib-I/usr/local/opt/openssl/include build/macosx温度-10.13-intel-2.7/SWIG/_m2crypto_wrap.o-L/usr/lib-lssl-lcrypto-o内部版本/lib.macosx系统-10.13-intel-2.7/m2加密//m2密码 ld:警告:忽略文件/usr/local/opt/openssl/lib/libdylib库,文件是为x86_64构建的,它不是被链接的体系结构(i386):/usr/local/opt/openssl/lib/libssl.dylib ld:警告:忽略文件/usr/local/opt/openssl/lib/libcrypto.dylib文件,文件是为x86_64构建的,它不是被链接的体系结构(i386):/usr/local/opt/openssl/lib/libcrypto.dylib文件 运行install_-lib 创建/Library/Python/2.7/site-packages/M2Crypto 错误:无法创建“/Library/Python/2.7/site packages/M2Crypto”:权限被拒绝

命令“/usr/bin/python-u-c”导入setuptools,tokenize;file='/private/var/folders/q5/qk1gf6z15kschmf5dwb3mqvh0000gn/T/pip-build-WyOs_y/M2crypto/设置.py';f=getattr(tokenize,'open',open)(文件);code=f.read().replace('\r\n','\n');f.close();exec(编译(code,文件,'exec'))“安装记录/var/folders/q5/qk1gf6z15kschmf5dwb3mqvh0000gn/T/pip-tp6pQY-record/install-记录.txt单版本外部管理编译”失败,错误代码1位于/private/var/folders/q5/qk1gf6z15kschmf5dwb3mqvh0000gn/T/pip-build-WyOs_y/M2crypto/

我经历了最艰难的时光。修复最终变成了一个简单的chmod,即sudo: sudo chmod 777/Library/Python/2.7/site-packages/

尝试安装scrapy我需要在Mac OS El Capitan上安装加密软件包。如Cryptography installation doc中所述

env LDFLAGS=“-L$(brew前缀openssl)/lib”CFLAGS=“-I$(brew前缀openssl)/include”pip安装密码术

相关问题 更多 >