0

在我的系统上,我有两个版本的 Python(我在命令行中输入python并调用它们)。python2当我使用 Python 的第一个版本时,我无法导入sklearn模块,但我可以在 Python 的第二个版本中做到这一点。

我想使用 Python 的第一个版本(因为那里有其他模块可用),同时,我希望能够import sklearn从这个版本的 Python 中使用。

我的解决方案是使用:

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

为了找到sklearn模块的位置,我启动了一个 python 会话(使用 python 的第二个版本,sklearn 在其中工作)。我键入:

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

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

4

1 回答 1

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 中正确导入。

于 2013-06-25T16:18:57.550 回答