Python nfcpy:“;找不到符号“;?
我已经通过pip安装了nfcpy,但是我很难设置它。在python shell中运行时,出现以下错误:Python nfcpy:“;找不到符号“;?,python,macos,nfc,Python,Macos,Nfc,我已经通过pip安装了nfcpy,但是我很难设置它。在python shell中运行时,出现以下错误: >>> import nfc Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python2.7/site-packages/nfc/__init__.py", line 28, in <module&g
>>> import nfc
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/site-packages/nfc/__init__.py", line 28, in <module>
from clf import ContactlessFrontend
File "/usr/local/lib/python2.7/site-packages/nfc/clf/__init__.py", line 34, in <module>
import nfc.llcp
File "/usr/local/lib/python2.7/site-packages/nfc/llcp/__init__.py", line 31, in <module>
from llc import LOGICAL_DATA_LINK, DATA_LINK_CONNECTION
File "/usr/local/lib/python2.7/site-packages/nfc/llcp/llc.py", line 41, in <module>
from . import sec
File "/usr/local/lib/python2.7/site-packages/nfc/llcp/sec.py", line 490, in <module>
OpenSSL = OpenSSLWrapper(libcrypto)
File "/usr/local/lib/python2.7/site-packages/nfc/llcp/sec.py", line 183, in __init__
self.crypto.EC_KEY_set_public_key_affine_coordinates.restype = c_int
File "/usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 378, in __getattr__
func = self.__getitem__(name)
File "/usr/local/Cellar/python/2.7.10/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py", line 383, in __getitem__
func = self._FuncPtr((name_or_ordinal, self))
AttributeError: dlsym(0x7f81ca493370, EC_KEY_set_public_key_affine_coordinates): symbol not found
>>导入nfc
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/usr/local/lib/python2.7/site packages/nfc/_init__.py”,第28行,在
从clf导入无触点前端
文件“/usr/local/lib/python2.7/site packages/nfc/clf/_init__.py”,第34行,在
进口nfc.llcp
文件“/usr/local/lib/python2.7/site packages/nfc/llcp/_init__.py”,第31行,在
从llc导入逻辑链路、数据链路和连接
文件“/usr/local/lib/python2.7/site packages/nfc/llcp/llc.py”,第41行,在
从…起进口证
文件“/usr/local/lib/python2.7/site packages/nfc/llcp/sec.py”,第490行,在
OpenSSL=OpenSSLWrapper(libcrypto)
文件“/usr/local/lib/python2.7/site packages/nfc/llcp/sec.py”,第183行,在__
self.crypto.EC_KEY_set_public_KEY_affine_coordinates.restype=c_int
文件“/usr/local/cillar/python/2.7.10/Frameworks/python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py”,第378行,位于__
func=self.\uuuu getitem\uuuuu(名称)
文件“/usr/local/cillar/python/2.7.10/Frameworks/python.framework/Versions/2.7/lib/python2.7/ctypes/__init__.py”,第383行,在_getitem中__
func=self.\u FuncPtr((名称或顺序,self))
属性错误:dlsym(0x7f81ca493370,EC密钥集公共密钥仿射坐标):未找到符号
此错误消息的含义是什么,如何修复
作为参考,我使用以下配置:
- 操作系统:Mac OSX 10.10.5
- NFC阅读器:RC-S380
- Python 2.7.10
- pip 8.1.2
- nfcpy(0.11.1)
您的自制python缺少所需的OpenSSL依赖项。您可以通过自制、Macports安装OpenSSL,也可以自己编译和构建库。下面是对@I'L'I评论中正确答案的重述:
您的自制python缺少所需的OpenSSL依赖项。您可以通过自制、Macports安装OpenSSL,也可以自己编译和构建库。您的自制python可能配置错误,或者无法找到所有必需的依赖项。我猜这是您的OpenSSL(或缺少)。。。您可能需要安装real deal而不是包装的libcrypto。@l'l'l当我点击
哪个python
,我得到/usr/local/bin/python
。我假设这是从官方源代码下载并安装的python。。。此外,在您的日志消息/usr/local/ceral/python/…
中明确指出它是自制版本。python可能不是主要问题;这是OpenSSL。@I'L'I在这种情况下OpenSSL是怎么一个问题?是的,我通过自制安装最新版本的OpenSSL并运行brew link--force
使其工作。非常感谢。您的自制python要么配置错误,要么找不到所有必需的依赖项。我猜这是您的OpenSSL(或缺少)。。。您可能需要安装real deal而不是包装的libcrypto。@l'l'l当我点击哪个python
,我得到/usr/local/bin/python
。我假设这是从官方源代码下载并安装的python。。。此外,在您的日志消息/usr/local/ceral/python/…
中明确指出它是自制版本。python可能不是主要问题;这是OpenSSL。@I'L'I在这种情况下OpenSSL是怎么一个问题?是的,我通过自制安装最新版本的OpenSSL并运行brew link--force
使其工作。非常感谢。