Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 外国金融机构图书馆可以';不能从加密、危险品、绑定中加载。\u openssl_Python_Mysql_Windows_Anaconda_Ffi - Fatal编程技术网

Python 外国金融机构图书馆可以';不能从加密、危险品、绑定中加载。\u openssl

Python 外国金融机构图书馆可以';不能从加密、危险品、绑定中加载。\u openssl,python,mysql,windows,anaconda,ffi,Python,Mysql,Windows,Anaconda,Ffi,我试图在Windows10上打开一个mysql数据库,使用anaconda(Python3.7 64位)和pymysql包 在windows命令提示符下,我执行以下操作: import pymysql db = pymysql.connect(host='localhost', user='tester', passwd='xxxx', port=3306, db='mydb') 用户名、密码和端口正确;主机应该是localhost(如果我通过127.0.0.1,我会得到相同的错误);但我得到

我试图在Windows10上打开一个mysql数据库,使用anaconda(Python3.7 64位)和pymysql包

在windows命令提示符下,我执行以下操作:

import pymysql
db = pymysql.connect(host='localhost', user='tester', passwd='xxxx', port=3306, db='mydb')
用户名、密码和端口正确;主机应该是localhost(如果我通过127.0.0.1,我会得到相同的错误);但我得到了以下错误,它在最后声明找不到ffi包:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\programs\Anaconda3\lib\site-packages\pymysql\__init__.py", line 94, in Connect
    return Connection(*args, **kwargs)
  File "C:\programs\Anaconda3\lib\site-packages\pymysql\connections.py", line 327, in __init__
    self.connect()
  File "C:\programs\Anaconda3\lib\site-packages\pymysql\connections.py", line 598, in connect
    self._request_authentication()
  File "C:\programs\Anaconda3\lib\site-packages\pymysql\connections.py", line 873, in _request_authentication
    auth_packet = _auth.caching_sha2_password_auth(self, auth_packet)
  File "C:\programs\Anaconda3\lib\site-packages\pymysql\_auth.py", line 252, in caching_sha2_password_auth
    data = sha2_rsa_encrypt(conn.password, conn.salt, conn.server_public_key)
  File "C:\programs\Anaconda3\lib\site-packages\pymysql\_auth.py", line 132, in sha2_rsa_encrypt
    rsa_key = serialization.load_pem_public_key(public_key, default_backend())
  File "C:\programs\Anaconda3\lib\site-packages\cryptography\hazmat\backends\__init__.py", line 15, in default_backend
    from cryptography.hazmat.backends.openssl.backend import backend
  File "C:\programs\Anaconda3\lib\site-packages\cryptography\hazmat\backends\openssl\__init__.py", line 7, in <module>
    from cryptography.hazmat.backends.openssl.backend import backend
  File "C:\programs\Anaconda3\lib\site-packages\cryptography\hazmat\backends\openssl\backend.py", line 53, in <module>
    from cryptography.hazmat.bindings.openssl import binding
  File "C:\programs\Anaconda3\lib\site-packages\cryptography\hazmat\bindings\openssl\binding.py", line 13, in <module>
    from cryptography.hazmat.bindings._openssl import ffi, lib
ImportError: DLL load failed: The specified module could not be found.
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“C:\programs\Anaconda3\lib\site packages\pymysql\\uuuu init\uuuu.py”,第94行,在Connect中
返回连接(*args,**kwargs)
文件“C:\programs\Anaconda3\lib\site packages\pymysql\connections.py”,第327行,在\uuu init中__
self.connect()
文件“C:\programs\Anaconda3\lib\site packages\pymysql\connections.py”,第598行,在connect中
self.\u请求\u身份验证()
文件“C:\programs\Anaconda3\lib\site packages\pymysql\connections.py”,第873行,在请求认证中
auth\u packet=\u auth.caching\u sha2\u password\u auth(self,auth\u packet)
文件“C:\programs\Anaconda3\lib\site packages\pymysql\\u auth.py”,第252行,缓存\u sha2\u password\u auth
data=sha2\u rsa\u加密(conn.password、conn.salt、conn.server\u公钥)
文件“C:\programs\Anaconda3\lib\site packages\pymysql\\u auth.py”,第132行,sha2\u rsa\u encrypt
rsa_key=serialization.load_pem_public_key(public_key,default_backend())
文件“C:\programs\Anaconda3\lib\site packages\cryptography\hazmat\backends\\uuu init\uuuu.py”,第15行,默认为\u backend
从cryptography.hazmat.backends.openssl.backend导入后端
文件“C:\programs\Anaconda3\lib\site packages\cryptography\hazmat\backends\openssl\\ uuuuu init\uuuu.py”,第7行,在
从cryptography.hazmat.backends.openssl.backend导入后端
文件“C:\programs\Anaconda3\lib\site packages\cryptography\hazmat\backends\openssl\backend.py”,第53行,在
来自cryptography.hazmat.bindings.openssl导入绑定
文件“C:\programs\Anaconda3\lib\site packages\cryptography\hazmat\bindings\openssl\binding.py”,第13行,在
来自cryptography.hazmat.bindings.\u openssl导入ffi,lib
ImportError:DLL加载失败:找不到指定的模块。
我看到conda navigator(或pip)没有从其标准频道看到ffi包

我已经尝试过这个建议(添加conda forge频道):

conda config--添加通道conda forge 康达安装libffi

但康达在“解决环境问题”上花了很长时间,并且没有在合理的时间内给出答案

我应该怎么做才能安装ffi并连接到db?我是世界上第一个在windows上从python/Anaconda调用mysql的人吗?我想一定有解决办法


谢谢,马可,我遇到了同样的问题。以下是为我解决问题的方法:

1.皮刮
2.康达软泥
3.pip安装--强制--升级scrapy
4.刮痧起动项目丁丁
它可以工作。

我遇到了类似的错误:

File "/root/ncs/bootloader/mcuboot/scripts/imgtool.py", line 22, in <module>
    main.imgtool()
  File "/usr/lib/python3.7/site-packages/lib/python3.7/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/usr/lib/python3.7/site-packages/lib/python3.7/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python3.7/site-packages/lib/python3.7/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/lib/python3.7/site-packages/lib/python3.7/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/lib/python3.7/site-packages/lib/python3.7/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/root/ncs/bootloader/mcuboot/scripts/imgtool/main.py", line 111, in getpub
    key = load_key(key)
  File "/root/ncs/bootloader/mcuboot/scripts/imgtool/main.py", line 74, in load_key
    key = keys.load(keyfile)
  File "/root/ncs/bootloader/mcuboot/scripts/imgtool/keys/__init__.py", line 52, in load
    backend=default_backend())
  File "/usr/lib/python3.7/site-packages/cryptography/hazmat/backends/__init__.py", line 14, in default_backend
    from cryptography.hazmat.backends.openssl.backend import backend
  File "/usr/lib/python3.7/site-packages/cryptography/hazmat/backends/openssl/__init__.py", line 6, in <module>
    from cryptography.hazmat.backends.openssl.backend import backend
  File "/usr/lib/python3.7/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 113, in <module>
    from cryptography.hazmat.bindings.openssl import binding
  File "/usr/lib/python3.7/site-packages/cryptography/hazmat/bindings/openssl/binding.py", line 14, in <module>
    from cryptography.hazmat.bindings._openssl import ffi, lib
ImportError: this module was compiled for Python 3.5
文件“/root/ncs/bootloader/mcuboot/scripts/imgtool.py”,第22行,在
main.imgtool()
文件“/usr/lib/python3.7/site packages/lib/python3.7/site packages/click/core.py”,第829行,在调用中__
返回self.main(*args,**kwargs)
文件“/usr/lib/python3.7/site packages/lib/python3.7/site packages/click/core.py”,第782行,在main中
rv=自调用(ctx)
文件“/usr/lib/python3.7/site-packages/lib/python3.7/site-packages/click/core.py”,调用中的第1259行
返回进程结果(sub_ctx.command.invoke(sub_ctx))
文件“/usr/lib/python3.7/site-packages/lib/python3.7/site-packages/click/core.py”,调用中的第1066行
返回ctx.invoke(self.callback,**ctx.params)
文件“/usr/lib/python3.7/site packages/lib/python3.7/site packages/click/core.py”,调用中的第610行
返回回调(*args,**kwargs)
文件“/root/ncs/bootloader/mcuboot/scripts/imgtool/main.py”,第111行,在getpub中
键=加载键(键)
文件“/root/ncs/bootloader/mcuboot/scripts/imgtool/main.py”,第74行,在load_键中
key=keys.load(keyfile)
文件“/root/ncs/bootloader/mcuboot/scripts/imgtool/keys/_init__.py”,第52行,加载
后端=默认值(后端()
文件“/usr/lib/python3.7/site packages/cryptography/hazmat/backends/_init__.py”,第14行,默认为_backend
从cryptography.hazmat.backends.openssl.backend导入后端
文件“/usr/lib/python3.7/site packages/cryptography/hazmat/backends/openssl/__init__.py”,第6行,在
从cryptography.hazmat.backends.openssl.backend导入后端
文件“/usr/lib/python3.7/site packages/cryptography/hazmat/backends/openssl/backend.py”,第113行,在
来自cryptography.hazmat.bindings.openssl导入绑定
文件“/usr/lib/python3.7/site packages/cryptography/hazmat/bindings/openssl/binding.py”,第14行,在
来自cryptography.hazmat.bindings.\u openssl导入ffi,lib
ImportError:此模块是为Python 3.5编译的
解决方案:
  • /usr/lib
    /usr/local/lib
    中搜索
    \u cffi\u backend.cpython*.so

  • 杀死这些
    \u cffi\u backend.cpython*.so

  • /usr/lib
    /usr/local/lib

  • 杀死这些目录

  • pip3安装--强制重新安装加密技术


谢谢,我就这么做了。