我的系统上有几个python安装,在/ usr / lib /我有python2.7,python 3,python3.2。我正在尝试从.9升级我的scipy版本。当我做的时候
sudo pip install --upgrade scipy
它没有说它已经在/usr/local/lib/python3.2/dist-packages中完成了
但是,当我在ipython中导入它时,它会找到旧版本的Scipy:
/usr/lib/python2.7/dist-packages/scipy/__init__.pyc
如何告诉python加载scipy的3.2版本而不是2.7?我相信这与PYTHONPATH变量有关,但我不确定要改变哪一个。
詹姆斯
答案 0 :(得分:1)
如何告诉python加载3.2版本的scipy而不是2.7
每个python版本都管理自己的已安装模块集。我们的想法是调用属于正确python版本的pip
可执行文件。
根据您的描述,您似乎已在python2.7
解释器中安装了ipython模块,但您的pip可执行文件属于python3.2
解释器。
执行python2.7
pip
的最简单方法是:
sudo ipython -m pip install --upgrade scipy
但是,这会将作为root的scipy安装到系统文件中,因此通常会干扰程序包管理器安装的版本。
一种可以说是更好的方法是在用户的主目录中安装软件包。
ipython -m pip install --upgrade scipy --user
正如评论中所指出的,最好的方法是熟悉virtualenv
。
我自己发现anaconda
特别有吸引力,因为它提供了一种安装和管理多个python解释器的简洁方法,重点是跨多个平台的科学包。