首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我不明白为什么我不能导入music21

我不明白为什么我不能导入music21
EN

Stack Overflow用户
提问于 2019-12-16 07:00:30
回答 2查看 602关注 0票数 1

我是Python的新手,所以也许我可以先学习基础知识…我是一个音乐家,热衷于学习如何在音乐中使用Python。

我安装了适用于Windows10的Python3.8 x64,然后使用pip安装了music21。

打开Python Shell,输入import music21,结果如下:

代码语言:javascript
复制
    Python 3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:37:50) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license()" for more information.
>>> import music21
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    import music21
  File "D:\Python\lib\site-packages\music21\__init__.py", line 170, in <module>
    from music21 import base
  File "D:\Python\lib\site-packages\music21\base.py", line 94, in <module>
    from music21 import common
  File "D:\Python\lib\site-packages\music21\common\__init__.py", line 39, in <module>
    from music21.common.parallel import *
  File "D:\Python\lib\site-packages\music21\common\parallel.py", line 19, in <module>
    from music21.ext.joblib import Parallel, delayed  # @UnresolvedImport # type: ignore
  File "D:\Python\lib\site-packages\music21\ext\joblib\__init__.py", line 119, in <module>
    from .parallel import Parallel
  File "D:\Python\lib\site-packages\music21\ext\joblib\parallel.py", line 32, in <module>
    from .externals.cloudpickle import dumps, loads
  File "D:\Python\lib\site-packages\music21\ext\joblib\externals\cloudpickle\__init__.py", line 3, in <module>
    from .cloudpickle import *
  File "D:\Python\lib\site-packages\music21\ext\joblib\externals\cloudpickle\cloudpickle.py", line 167, in <module>
    _cell_set_template_code = _make_cell_set_template_code()
  File "D:\Python\lib\site-packages\music21\ext\joblib\externals\cloudpickle\cloudpickle.py", line 148, in _make_cell_set_template_code
    return types.CodeType(
TypeError: an integer is required (got type bytes)

我已经找到了可以与music21一起运行的示例代码,但是如果出现错误,我就不能使用它。

希望有人能帮上忙。如果我是一个彻头彻尾的n00b,很抱歉。查看了其他问题,但没有找到或不理解答案。

EN

回答 2

Stack Overflow用户

发布于 2019-12-16 07:37:10

因此,从您的输出来看,最有用的部分似乎是D:\Python\lib\site-packages\music21\ext\joblib\externals\cloudpickle\cloudpickle.py文件中_make_cell_set_template_code函数中的TypeError: an integer is required (got type bytes)。这个问题可能是music21与Python3.8不兼容的问题。我正在阅读来自https://web.mit.edu/music21/的文档,它说v.5支持Python3.4-3.6,所以我会尝试其中一个版本,并重新启动您为达到上述步骤所做的过程。希望这能有所帮助!

票数 1
EN

Stack Overflow用户

发布于 2019-12-16 07:52:22

music21 v5不支持Python3.8 --选择3.7或从github下载最新的Git。

编辑: v5.7.2现在支持3.8

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59348815

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档