我的Python代码正在使用使用OpenSSL的模块。我正在共享的FreeBSD服务器上运行。
[当我尝试运行代码时,出现以下错误。经过研究,我认为这是由于未安装openssl-devel。
但是,我被告知FreeBSD不会像Linux那样将库和头文件分成单独的软件包。 OpenSSL的头位于/ usr / local / include / openssl中,而OPENSSL_no_config在conf.h中定义。
我需要做什么以使我的代码识别标题在此位置?
谢谢!
...
File "<virtual environment path>/lib/python3.7/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 16, in <module>
from cryptography.hazmat.bindings._openssl import ffi, lib
ImportError: <virtual environment path>/lib/python3.7/site-packages/cryptography/hazmat/bindings/_openssl.abi3.so: Undefined symbol "OPENSSL_no_config"
编辑:在进行更多挖掘之后,我认为重建虚拟环境并指定这些附加参数将在安装库时有所帮助,但是我遇到了同样的错误。
pip install --global-option=build_ext --global-option="-I/usr/local/include/openssl" -r requirements.txt
此pip安装命令最终正常工作(在我的原始帖子中,我已经将/ openssl包含在include目录中,并且它不是必需的:]]
pip install --global-option=build_ext --global-option="-I/usr/local/include/" -r requirements.txt