从rtmidi-python

时间:2016-01-16 21:08:28

标签: python-3.4 typeerror python-wheel

我从http://www.lfd.uci.edu/~gohlke/pythonlibs/上提供的 .whl 安装了rtmidi_python for Python 3.4.2,导入工作正常,但只要我调用“rtmidi_python.MidiIn()”,我得到一个TypeError如下:

Python 3.4.2 (v3.4.2:ab2c023a9432, Oct  6 2014, 22:15:05) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import rtmidi_python
>>> rtmidi_python.MidiIn()
Traceback (most recent call last):
  File "<pyshell#3>", line 1, in <module>
    rtmidi_python.MidiIn()
  File "rtmidi_python.pyx", line 72, in rtmidi_python.MidiIn.__cinit__ (rtmidi_python.cpp:1440)
TypeError: expected bytes, str found

据我了解,经过一些研究,这意味着包装本身或其构建中存在错误,我无能为力,但我可能错了。任何人都可以确认吗?

我使用3.4.2,因为这是当前版本的Blender使用的Python版本。我想在Blender游戏引擎中使用rtmidi-python。 我目前正在使用Windows 7 32位,并使用 .whl 来安装软件包,因为我没有必要的C ++编译器来进行常规的pip安装。

为了比较,我之前安装了rtmidi-python for 3.5.1,也来自上面链接上提供的足够的 .whl ,并且命令工作得很好。

如果缺少任何必要的信息,请随时提出。如果答案是作为评论发表而且我不赞成它,请提前致谢。

1 个答案:

答案 0 :(得分:0)

虽然不是一个完美的解决方案,但这可以通过sehqlr在这里描述的方式修复...... https://github.com/superquadratic/rtmidi-python/issues/17

...通过这样调用 MidiIn()

>>> rtmidi_python.MidiIn(b'in')