Python 如何从目录导入模块?

Python 如何从目录导入模块?,python,python-import,sys,sys.path,Python,Python Import,Sys,Sys.path,在我的系统上,我有两个版本的Python(我在命令行中键入Python和python2)。当我使用Python的第一个版本时,我不能导入sklearn模块,但我可以在Python的第二个版本中导入 我希望使用python的第一个版本(因为还有其他模块可用),同时,我希望能够从这个版本的python中导入sklearn 我的解决方案是使用: import sys sys.path.append('location_of_the_sklearn_module') 为了找到sklearn模块的位置,

在我的系统上,我有两个版本的Python(我在命令行中键入
Python
python2
)。当我使用Python的第一个版本时,我不能导入
sklearn
模块,但我可以在Python的第二个版本中导入

我希望使用python的第一个版本(因为还有其他模块可用),同时,我希望能够从这个版本的python中
导入sklearn

我的解决方案是使用:

import sys
sys.path.append('location_of_the_sklearn_module')
为了找到
sklearn
模块的位置,我启动了一个python会话(使用第二个版本的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:没有名为sklearn的模块


是否有人知道我做错了什么,以及是否有可能以我尝试的方式达到目标?

导入包时,需要将包的父目录添加到
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中可能不一定正确导入。

如果您的第一个
Python
实际上是Python 3,那么据我所知,sklearn还不支持它。@voithos,Python的两个版本都是2.7.3。