1. 程式人生 > >Python使用libsvm的“ImportError: No module named svmutil”問題

Python使用libsvm的“ImportError: No module named svmutil”問題

這幾天快被Python的一些細節問題整死了,浪費了不少時間。現在把這些記錄下來,讓遇到同樣問題的朋友少走彎路。

Windows下用Python使用libsvm庫的時候,按照主流的方法(可以點選這裡)安裝配置,沒有問題。但是,一旦不是在命令列而是在Python指令碼中使用libsvm的時候,編會報錯:“ImportError: No module named svmutil”。

這是因為python中,每個py檔案被稱之為模組,每個具有init.py檔案的目錄被稱為包。只要模組或者包所在的目錄在sys.path中,就可以使用import 模組或import 包來使用。如果沒有在目錄sys.path中,就需要手動新增。方法如下:

import sys
path = "C:\libsvm-3.20\python"
sys.path.append(path)

上面path是我的libsvm中的Python目錄。只要將這三行新增到指令碼開頭,就可以在Python中正常使用libsvm了。

此外,

import os
os.chdir(path)

不能起到新增搜尋目錄的效果,這個只是切換程式的執行目錄,方便在指令碼中呼叫外部檔案。