我需要在 sklearn v0.17 下运行我的 python 脚本,并且在服务器上安装了 sklearn v0.15。
因此,我将 scikit-learn-0.17
包下载到 /home/mydir/lib/python2.7/site-packages/
并安装了该包。
但是,当我转到其他目录并尝试运行 python 并导入 sklearn
时,版本仍然是 0.15。
我创建了~/.startup.py
并添加了以下代码
import sys
sys.path.insert(0,"/home/mydir/lib/Python2.7/site-packages/")
然后我用
指向~/.bashrc
中的 ~/.startup.py
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
最佳答案
Python 虚拟环境就是为了解决这个问题而创建的。通过导航到项目目录并输入 pyvenv ./Env
命令来创建虚拟环境。使用 source ./Env/bin/activate
激活 Linux 系统上的环境。现在你已经有了一个沙盒 python 环境,无论你现在安装什么包,都只会作用于这个环境。因此,您可以pip install scikit-learn-0.17
,您将只指向那个包。不在此虚拟环境中的所有其他包都将被忽略,除非您通过 pip
等方法显式添加它们。
虚拟环境还有许多其他好处,强烈建议阅读更多相关信息 here 。
关于python - 如何导入不同版本的 python 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39457963/