我想使用名为Music21的这个框架。
在shell中一切正常。例如,命令:
from music21 import corpus
完美无缺。在IDE中存在导入错误。
music21路径是:
>>> music21.__file__
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/music21/__init__.pyc'
我将此路径放在IDE中:
编辑:命令:
导入音乐21 print dir(music21)
让我进入shell:
['DefinedContexts','DefinedContextsException','ElementException','ElementWrapper','GroupException','Groups','JSONSerializer','JSONSerializerException','Music21Exception','Music21Object','Music21ObjectException','Test ','TestMock','VERSION','VERSION_STR','WEAKREF_ACTIVE','所有','内置',' doc ' ,'文件','名称','包','路径','abc',' abj','analysis','articulations','bar','base','beam','chord','chordTables','clef','codecs','common','composition','configure' ,'转换','复制','语料库','对位','默认','演示','派生','doc','doctest','持续时间','动态','社论',' environLocal','environment','expressions','figuredBass','graph','humdrum','inspect','instrument','interval','intervalNetwork','json','key','layout' ,'lily','mainTest','matplotlib','medren','元数据','米','midi','musedata',' musicxml','note','numpy','parse','pitch','ratios','repeat','roman','romanText','scale','serial','sieve','spanner' ,'stream','sys','tempo','test','text','tie','tinyNotation','trecento','types','unittest','uuid','voiceLeading','的XMLNode']
并在IDE中:
['作者','内置','日期',' doc ','< strong>文件','名称','包','music21']
答案 0 :(得分:1)
路径应该是正确的python可执行文件或其文件夹。
答案 1 :(得分:1)
在Python中,包含__init__.py
的每个目录都是一个包。 sys.path
包含Python搜索包的目录,因此您应该使用
'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/'
能够从该目录导入音乐和其他包。
答案 2 :(得分:0)
看起来您已经在一个名为music21的文件夹中安装了music21,而后一个(外部)文件夹位于IDE的路径中,但在其他情况下,内部文件夹位于您的路径中。因此,当您在IDE中键入“import music21”时,您已导入外部文件夹,并且您需要输入“来自music21 import music21”的这个模糊命令才能获得实际的工具包。
-
如果“语料库”是您遇到的唯一问题,我猜您安装了两个不同版本的music21,其中一个是工具包的“noCorpus”版本:http://code.google.com/p/music21/downloads/list
我们制作noCorpus版本的唯一原因是,有些文件不是全球免费软件(它们都是完全获得美国许可)和Linux Dist。我想用它打包music21,但不能包含一些语料库文件。除非您的磁盘空间非常低或坚持墨西哥版权法+ 100等,否则您可能不需要noCorpus版本。