如何导入不同版本的python模块?

时间:2016-09-12 20:03:54

标签: python python-2.7 scikit-learn python-module

我需要在sklearn v0.17下运行我的python脚本,在服务器上运行sklearn v0.15。

所以我将scikit-learn-0.17软件包下载到/home/mydir/lib/python2.7/site-packages/并安装了软件包。

然而,当我转到其他目录并尝试运行python和import sklearn时,版本仍为0.15。

我创建了~/.startup.py并输入以下代码

import sys  
sys.path.insert(0,"/home/mydir/lib/Python2.7/site-packages/")

然后我在~/.startup.py中使用

指向~/.bashrc
PYTHONSTARTUP=~/.startup.py

但它没有帮助。

我想知道如何解决这个问题。谢谢!

以下文件/目录位于site-packages/

easy-install.pth              scikit-learn-0.17         site.pyc
pysam-0.9.1.4                 scikit_learn-0.17-py2.7.egg-info  site.pyo
pysam-0.9.1.4-py2.7-linux-x86_64.egg  site.py               sklearn

2 个答案:

答案 0 :(得分:1)

Python虚拟环境用于解决此问题。通过导航到项目目录创建虚拟环境并输入pyvenv ./Env命令。使用source ./Env/bin/activate在Linux系统上激活环境。现在你有了一个沙盒python环境,你现在安装的任何软件包都只限于这个环境。所以你可以pip install scikit-learn-0.17只指向 THAT 包。除非您通过pip等方法明确添加,否则将忽略此虚拟环境中不包含的所有其他包。

虚拟环境还有许多其他好处,高读者会更多地了解它们here

答案 1 :(得分:0)

这里的一般建议是使用virtualenv,它允许你为所有python项目提供隔离的环境。

所以你的每个项目都可以使用不同的scikit版本。

教程:https://www.sitepoint.com/virtual-environments-python-made-easy/