python没有使用更新的pip scipy包

时间:2013-12-24 14:38:26

标签: python numpy scipy pip

我目前正在使用scipy并且在更新时遇到问题。 它是通过pip安装的,pip list给了我:

...  
scipy (0.13.2)  
...

但是当我启动我的python并执行:

import scipy
print scipy.__version__

我明白了:

0.11.0

知道哪里出错了?也许是路径?我认为python使用我的pip包,因为我首先安装了scipy。

其他信息:
终端which python的输出:

/usr/bin/python

print sys.path的输出:

'/Users/*MY_USER*/Documents/workspace/*MY_PROJECT*', 
'/Library/Python/2.7/site-packages/pip-1.4.1-py2.7.egg', 
'/Users/*MY_USER*/Documents/workspace/*MY_PROJECT*', 
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', 
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7', 
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', 
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python', 
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', 
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',
 '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload', 
'/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC',
 '/Library/Python/2.7/site-packages', 'lib'

输出打印scipy.__path__

/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/scipy

which pip的输出:

/usr/local/bin/pip

更新
看起来,scipy的另一个版本是从第一个拉出来的 /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/
因为它出现在正确的/Library/Python/2.7/site-packages

之前

所以如果我跑了 sys.path.insert(1, "/Library/Python/2.7/site-packages")
加载正确版本的scipy!

那么如何才能彻底解决这个排序问题呢?平台OSX Mavericks。

1 个答案:

答案 0 :(得分:3)

您可以简单地删除(或重命名)旧库的目录或从更新的包创建符号链接。我首先重命名,检查一切是否正常,然后我删除它们。

就我而言,pip正在/Library/Frameworks/Python.framework/Versions/Current/lib/python2.7/site-packages中安装/更新库,因此该目录始终具有更新版本。但是,我的python主要查看/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python,其中旧版本的scipy,numpy和matplotlib所在。当我删除旧版本时,新的python开始加载更新的模块。