Skip to content

[Bug Report] Conflict between msgpack 1.0.0 and the deprecated msgpack-python #3251

Description

@wangwwno1

Bug report

  • AirSim Version: a0d4d0e
  • UE/Unity version: N/A
  • autopilot version: N/A
  • OS Version: N/A

What's the issue you encountered?

This package is deprecated. Install msgpack instead.

https://pypi.org/project/msgpack-python/
When users install both msgpack and airsim they will have both msgpack and msgpack-python installed, which conflict.
Edit: After further examination, I find that this issue is related to the msgpack-rpc-python.
They have a PR to fix this msgpack-rpc/msgpack-rpc-python#23 but by 2020.12.18 it hasn't merge yet.

Settings

N/A

How can the issue be reproduced?

  1. Install airsim, then install msgpack by pip install msgpack==1.0.2 Note: install msgpack, NOT msgpack-python, and msgpack must be newer than 1.0.0 as they change the api in this version.
  2. Run the code below and you will get an error
import airsim
client = airsim.MultirotorClient()
client.ping()

Include full error message in text form

Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/home/USER/anaconda3/envs/VeriFC/lib/python3.8/site-packages/airsim/client.py", line 44, in ping
    return self.client.call("ping")
  File "/home/USER/anaconda3/envs/VeriFC/lib/python3.8/site-packages/msgpackrpc/session.py", line 41, in call
    return self.send_request(method, args).get()
  File "/home/USER/anaconda3/envs/VeriFC/lib/python3.8/site-packages/msgpackrpc/session.py", line 51, in send_request
    self._transport.send_message([message.REQUEST, msgid, method, args])
  File "/home/USER/anaconda3/envs/VeriFC/lib/python3.8/site-packages/msgpackrpc/transport/tcp.py", line 89, in send_message
    self.connect()
  File "/home/USER/anaconda3/envs/VeriFC/lib/python3.8/site-packages/msgpackrpc/transport/tcp.py", line 98, in connect
    socket = ClientSocket(stream, self, self._encodings)
  File "/home/USER/anaconda3/envs/VeriFC/lib/python3.8/site-packages/msgpackrpc/transport/tcp.py", line 53, in __init__
    BaseSocket.__init__(self, stream, encodings)
  File "/home/USER/anaconda3/envs/VeriFC/lib/python3.8/site-packages/msgpackrpc/transport/tcp.py", line 12, in __init__
    self._packer = msgpack.Packer(encoding=encodings[0], default=lambda x: x.to_msgpack())
  File "msgpack/_packer.pyx", line 124, in msgpack._cmsgpack.Packer.__init__
TypeError: __init__() got an unexpected keyword argument 'encoding'

What's better than filing an issue? Filing a pull request :).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions