我使用odoo,我想安装paybox模块:这一个:https://bitbucket.org/anybox/anybox_paybox/ 为此:该模块需要pycrypto才能工作
所以,我在linux服务器(ubuntu)中安装了pycrypto
git clone https://github.com/dlitz/pycrypto.git
./configure
python setup.py build
python setup.py install
我做了这个测试:python setup.py test 结果没有错误,但问题出现在此文件中://paybox_signature.py //
# coding: utf-8
import urllib
import base64
from Crypto.PublicKey import RSA
from Crypto.Signature import PKCS1_v1_5
from Crypto.Hash import SHA
class Signature():
def verify(self, signature, msg, key):
""" check if the signature is correct according to the public key path given
and the message """
msg = self.remove_sign(msg)
key = RSA.importKey(key)
ha = SHA.SHA1Hash().new(msg)
verifier = PKCS1_v1_5.new(key)
signature = urllib.unquote(signature)
signature = base64.b64decode(signature)
return verifier.verify(ha, signature)
def remove_sign(self, msg):
""" remove signature arg from the given string"""
pos = msg.find('&Signature')
if pos == -1:
return msg
return msg[:pos]
当我执行文件的这一行时:
from Crypto.PublicKey import RSA
- >好吧没有错误
当我这样做时
from Crypto.Signature import PKCS1_v1_5
- > Traceback(最近一次调用最后一次): 文件“”,第1行,in ImportError:没有名为Signature
的模块我不知道为什么 所有的模块都在那里为什么python犯这个错误!我真的不知道 我需要你的帮助谢谢
答案 0 :(得分:1)
可能是pycrypto
软件包安装问题。
尝试
sudo easy_install pycrypto
然后重新启动系统。
您也可以结帐api of pycrypto
如果您使用的是Mac OS,请参阅更多讨论here
答案 1 :(得分:0)
这是一个古老的问题,但对于那些仍在寻找答案并绊倒在这个页面上的人来说。您可以从pycrypto dist下载pyCrypto,但我建议" pip install pyCrypto"因为它简单而且更好。