2011-06-14 127 views
1

我想使用這個名爲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: enter image description here

編輯:命令:

進口music21 打印目錄(music21)

給我在shell:

[ 'DefinedContexts', 'DefinedContextsException', 'ElementException', 'ElementWrapper', 'GroupException', '組', 'JSONSerializer', 'JSONSerializerException', 'Music21Exception', 'Music21Object', 'Music21ObjectException', '測試', 'TestMock', '版本', 'VERSION_STR', 'WEAKREF_ACTIVE', '所有', '內建', 'DOC', '文件', '','封裝」, '路徑', 'ABC', 'ABJ', '分析', '關節', '杆', '基極', '束', '弦', 'chordTables', '譜號' ,'編解碼器','普通','合成','配置','轉換器','複製','語料庫','對位','默認','演示','推導','文檔' doctest','duration','dynamics','editorial','environLocal','environment','expressions','figuredBass','graph','humdrum','inspect','instrument','interval' ,'internetwork','json','key','layout','lily','mainTest','matplotlib','medren','metadata','meter','midi','musedata'音符','音符','numpy','parse','pitch','ratios','repeat','roman','romanText','scale','serial','sieve','spanner' ,'流','SYS','節奏','測試','文本','領帶','tinyNotation','trecento','類型','單元測試','uuid','語音引導' xmlnode']

,並在IDE:

[ '作者', '內建', '日期', 'DOC',「文件 ' '',' 」, 'music21']

+0

「The IDE」?哪個IDE? – kindall 2011-06-14 22:23:12

+0

netBeans 6.9.1。我正在使用雪豹。 – iddober 2011-06-15 06:56:04

回答

1

路徑應到正確蟒可執行文件,或它的文件夾。

+0

嗨,我做了你說的 - 不工作。最流行的部分是「import music21」這一行,但它沒有找到語料庫。 – iddober 2011-06-15 07:01:28

1

在Python中,每個目錄包含比爲__init__.py一個包。而sys.path包含這樣的Python搜索軟件包的目錄,所以你應該使用

'/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/'

能夠導入音樂和其他包從該目錄。

0

看起來你已經在名爲music21的文件夾中安裝了music21,後者(外部)文件夾位於IDE中的路徑中,但在其他情況下,內部文件夾位於您的路徑中。所以當你在你的IDE中輸入「import music21」時,你已經導入了外部文件夾,你需要輸入這個模糊的命令「from music21 import music21」來獲得實際的工具包。

-

如果「文集」是你看到的,我猜你安裝了兩個不同版本的music21的,其中一人是從工具箱的「noCorpus」版本唯一的問題: http://code.google.com/p/music21/downloads/list

我們製作一個noCorpus版本的唯一原因是,那裏的一些文件沒有世界範圍的免費軟件(它們都是完全授權給美國的)和Linux Dist。想要打包music21,但不能包含一些語料庫文件。除非您的磁盤空間不足或維護墨西哥版權法+100等,否則您可能不需要noCorpus版本。