python 不使用更新的 pip scipy 包

标签 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

打印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

输出哪个 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。

最佳答案

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

就我而言,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 开始加载更新的模块。

关于python 不使用更新的 pip scipy 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20762667/

相关文章:

python - 如何清除日志文件并重新写入?

python - __call__ 类型类的方法

python - 使用切片的数组赋值

python - n 球坐标系到笛卡尔坐标系

python - 如何有效地将 scipy 稀疏数组和 numpy 数组分割成较小的 N 个不等 block ?

python - 你能通用地编写 numpy 切片吗?

python - 正则表达式过滤器在开头包含单词但不包含另一个单词

python - 使用 numpy 对数组进行排序以适合另一个数组

python - scipy 没有优化并返回 "Desired error not necessarily achieved due to precision loss"

python - 当X坐标值未知时,如何使用python根据Y坐标获取路径的X坐标