", line 1, in 機器的環境是python2.7.6; 使用pip install安裝了amqp.正常安裝,未報錯. amqp安裝的版本是2.1.4. 在python中,使用import amqp,報告錯誤如下: 百度和google了一些Struct() argument 1 must be string, not unicode相關的內容,稍微有用的是github上的討論 看到這個版本的代碼的時候 依葫蘆畫瓢,將相應地方的都改成了uncoded形式,即在字串前面加u''. 沒有解決問題 經過反覆查閱,最後思考了一下,將前面報錯的file打開看了一下,在298行_method_name前面一行是: 之前被我改成了unicode 因為github上就是這麼改的嘛,完全沒經過大腦就照搬了 實際上,改成如下就可以了: 再次使用import amqp就不會報錯了 以上是amqp模組在python2.7.6上報錯怎麼解決?的詳細內容。更多資訊請關注PHP中文網其他相關文章!amqp模組在python2.7.6上報錯怎麼解決?
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/site-packages/amqp/__init__.py", line 45, in <module>
from .basic_message import Message # noqa
File "/usr/local/lib/python2.7/site-packages/amqp/basic_message.py", line 29, in <module>
from .serialization import GenericContent
File "/usr/local/lib/python2.7/site-packages/amqp/serialization.py", line 31, in <module>
from .exceptions import FrameSyntaxError
File "/usr/local/lib/python2.7/site-packages/amqp/exceptions.py", line 298, in <module>
_method_name
TypeError: Struct() argument 1 must be string, not unicode
METHOD_NAME_MAP[unpack('>I', pack('>HH', *_method_id))[0]] = \
METHOD_NAME_MAP[unpack(u'>I', pack(u'>HH', *_method_id))[0]] = \
METHOD_NAME_MAP[unpack(str('>I'), pack(str('>HH'), *_method_id))[0]] = \