Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.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
Falcon python M2Crypto RSA错误_Python_Rsa_M2crypto_Python Venv_Falconframework - Fatal编程技术网

Falcon python M2Crypto RSA错误

Falcon python M2Crypto RSA错误,python,rsa,m2crypto,python-venv,falconframework,Python,Rsa,M2crypto,Python Venv,Falconframework,我们最近开发了一个使用RSA的API,主要问题是在控制台中它工作正常,但一旦进入应用程序的“venv”,它就会显示不同的错误 Traceback (most recent call last): File "/root/merci_api/venv/lib/python3.5/site-packages/gunicorn/arbiter.py", line 557, in spawn_worker worker.init_process() File "/root/merci_a

我们最近开发了一个使用RSA的API,主要问题是在控制台中它工作正常,但一旦进入应用程序的“venv”,它就会显示不同的错误

Traceback (most recent call last):


File "/root/merci_api/venv/lib/python3.5/site-packages/gunicorn/arbiter.py", line 557, in spawn_worker
    worker.init_process()
  File "/root/merci_api/venv/lib/python3.5/site-packages/gunicorn/workers/base.py", line 126, in init_process
    self.load_wsgi()
  File "/root/merci_api/venv/lib/python3.5/site-packages/gunicorn/workers/base.py", line 136, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/root/merci_api/venv/lib/python3.5/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "/root/merci_api/venv/lib/python3.5/site-packages/gunicorn/app/wsgiapp.py", line 65, in load
    return self.load_wsgiapp()
  File "/root/merci_api/venv/lib/python3.5/site-packages/gunicorn/app/wsgiapp.py", line 52, in load_wsgiapp
    return util.import_app(self.app_uri)
  File "/root/merci_api/venv/lib/python3.5/site-packages/gunicorn/util.py", line 357, in import_app
    __import__(module)
  File "/root/merci_api/main.py", line 12, in <module>
    import transaction_commit
  File "/root/merci_api/transaction_commit.py", line 9, in <module>
    import cfdi
  File "/root/merci_api/cfdi.py", line 15, in <module>
    from M2Crypto import RSA
  File "/root/merci_api/venv/lib/python3.5/site-packages/M2Crypto-0.25.1-py3.5-linux-x86_64.egg/M2Crypto/__init__.py", line 26, in <module>
    from M2Crypto import (ASN1, AuthCookie, BIO, BN, DH, DSA, EVP, Engine, Err,
  File "/root/merci_api/venv/lib/python3.5/site-packages/M2Crypto-0.25.1-py3.5-linux-x86_64.egg/M2Crypto/SSL/__init__.py", line 24, in <module>
    from M2Crypto.SSL.SSLServer import (ForkingSSLServer, SSLServer,
  File "/root/merci_api/venv/lib/python3.5/site-packages/M2Crypto-0.25.1-py3.5-linux-x86_64.egg/M2Crypto/SSL/SSLServer.py", line 12, in <module>
    from SocketServer import BaseServer, ForkingMixIn, TCPServer, ThreadingMixIn
ImportError: No module named 'SocketServer'
运行环境的命令:

 /root/merci_api/venv/bin/gunicorn --workers 3 -b localhost:5000 main:app
有什么建议吗


我做错了什么?

好吧,问题是我们安装的版本上的M2Crypto与Python 3不兼容。*,所以当我们使用另一个M2Crypto版本时,我们有另一个问题“SSL v2”需要解决

  • 安装Python2*
  • 直接从repo安装最新版本的M2Crypto
  • pip卸载-y m2crypto
  • pip安装git+

除非您使用python3 branch M2Crypto,否则它仍然不支持py3k。

您可以从您的virtualenv
python——版本
——粘贴以下命令的输出吗?我想它是python 3.5,我可以在堆栈跟踪上看到
python-c'导入六个;打印(六个版本)
python-c'importsix.moves;print(dir(six.moves))”
Hi@Varad输出是:Python 2.7.12和1.10.0这里有点不正确。看到你的堆栈跟踪了吗虚拟环境说的是3.5,你说的是它的2.7
文件“/root/merci_api/venv/lib/python3.5/site packages/M2Crypto-0.25.1-py3.5-linux-x86_64.egg/M2Crypto/SSL/SSLServer.py”,第12行,在SocketServer import BaseServer、ForkingMixIn、TCPServer、ThreadingMixIn中。事实上,venv运行了3s!似乎M2Crypto与Python 3.5不兼容我在我的venv上使用Python 3.5我将其更改为2.7,并将M2Crypto的新版本升级为0.26,该版本修复了Linux上的SSLv2问题!
 /root/merci_api/venv/bin/gunicorn --workers 3 -b localhost:5000 main:app