我需要在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
答案 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/