在 Windows 上安装 python-midi 包时出错
Posted
技术标签:
【中文标题】在 Windows 上安装 python-midi 包时出错【英文标题】:Error installing python-midi package on Windows 【发布时间】:2018-03-29 23:53:44 【问题描述】:我尝试使用 pip 在 Windows 上安装一些 Python 软件包,但在尝试安装 python-midi 时出现以下错误:
(env) C:\Users\Asus\Documents\LEI\Algo-Rhythm>pip install python-midi
Collecting python-midi
Using cached python-midi-v0.2.4.tar.gz
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\Asus\AppData\Local\Temp\pip-build-zqxbr1j2\python-midi\setup.py", line 42
print "No sequencer available for '%s' platform." % platform
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(print "No sequencer available for '%s' platform." % platform)?
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in C:\Users\Asus\AppData\Local\Temp\pip-build-zqxbr1j2\python-midi\
我查找了发生错误的文件,但即使在查看隐藏文件时也找不到。如果有人知道可能导致此问题的原因或也遇到过此问题,我将很高兴听到。提前致谢。
【问题讨论】:
你的python版本是什么? python 3.6.4 64位 我猜是这样,因为在 python 3.x 中,print
需要作为带括号的函数调用。我会检查您尝试安装的软件包是否仍然受到积极支持。
谢谢,我不知道 Python 2 和 3 之间的区别。我会检查一下。
【参考方案1】:
出现这个错误的原因是因为这个包是为 Python 2 设计的。你可以通过旧式的 print 语句来判断。
Python 2
print "hey"
Python 3
print("hey")
我建议查看 python3-midi,它是从原始 python-midi
包中分叉出来的。
【讨论】:
感谢您的帮助,我对 Python 比较新,不知道这个区别,我会检查 python3-midi 看看我是否可以使用它。如果我想使用原始包,唯一的方法就是使用 Python 2,对吗? 没错。python3-midi
是从原始的 python-midi
包中派生出来的,所以我不明白为什么用法不会几乎相同。【参考方案2】:
我刚刚更新了 setup.py 文件中的打印语句。
def configure_platform():
from sys import platform
ns = __base__.copy()
# currently, only the ALSA sequencer is supported
if platform.startswith('linux'):
setup_alsa(ns)
pass
else:
print("No sequencer available for '%s' platform." % platform)
return ns
希望对你有所帮助。
【讨论】:
以上是关于在 Windows 上安装 python-midi 包时出错的主要内容,如果未能解决你的问题,请参考以下文章