2013-06-25 7 views
0

В моей системе у меня две версии Python (для их вызова я набираю python и python2 в командной строке). Когда я использую первую версию Python, я не могу импортировать модуль sklearn, но я могу сделать это во второй версии Python.Как импортировать модуль из каталога?

Я хотел бы использовать первую версию python (потому что там доступны другие модули), и в то же время я хотел бы иметь возможность import sklearn из этой версии Python.

Мое решение было использовать:

import sys 
sys.path.append('location_of_the_sklearn_module') 

Чтобы найти расположение sklearn модуля я начал питона сессии (используя вторую версию Python, в котором sklearn работы). Тип I:

import sklearn 
sklearn.__file__ 

В результате я получил:

/home/name/my_name/numpy/local/lib/python2.7/site-packages/sklearn/__init__.pyc 

На заседании первой версии Python Я пробовал:

import sys 
sys.path.append('/home/name/my_name/numpy/local/lib/python2.7/site-packages/sklearn') 
import sklearn 

К сожалению, это не сработало. В результате я получил: ImportError: No module named sklearn

Кто-нибудь знает, что я делаю неправильно, и если можно достичь цели, как я пытаюсь?

+0

Если ваш первый 'Python' на самом деле Python 3, то, насколько я знаю, sklearn еще не поддерживает его. – voithos

+0

@voithos, обе версии python - 2.7.3. – Roman

ответ

2

При импорте пакетов, вам нужно добавить родительский каталог пакета PYTHONPATH, а не сам каталог пакета, так что просто изменить ...

sys.path.append('/home/name/my_name/numpy/local/lib/python2.7/site-packages/sklearn') 

... к ...

sys.path.append('/home/name/my_name/numpy/local/lib/python2.7/site-packages') 

... хотя он может не обязательно импортироваться правильно в Python 3.x.

+0

Спасибо. Ваш ответ разрешил мою проблему. – Roman

Смежные вопросы