Python 如何从目录导入模块?
在我的系统上,我有两个版本的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
和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。