Python numpy从1.6升级到1.8

时间:2014-04-02 15:14:34

标签: python python-2.7 numpy path

我安装了numpy 1.8。但是当我打印numpy.__version__时,它会说1.6。

我需要更改才能让python知道numpy在哪里?在Mac上工作(10.9)。我使用的是python 2.7.6。

编辑:

我试图删除我所有的numpy版本。我做了pip uninstall numpy。然后我打字:

蟒        导入numpy        打印numpy。版本

并打印出1.6.2

我显然无法删除numpy。

3 个答案:

答案 0 :(得分:8)

我在Mac OS X 10.9.4上运行Python 2.7.5,这似乎是Macintosh工厂安装的Python版本处理升级包安装的一些奇怪的错误。

就我而言,当我这样做时:

sudo pip uninstall numpy

它删除了

下安装的numpy版本
/Library/Python/2.7/site-packages

然而,这并不意味着numpy已从系统中完全删除!还安装了第二组几个Python软件包的“备份”版本:

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

当我使用Apple随OS X系统附带的/usr/bin/easy_install实用程序安装numpy时,numpy的最新版本(截至此发布时为1.9.0)已加载到Library/Python/2.7/site-packages,正如人们所期望的那样,它正确地位于模块加载路径中的“OS X系统默认”版本的numpy之前,以便在Python中import numpy时加载最新版本的numpy。然而 - 这是非常奇怪的,显然是错误的行为! - 当我卸载numpy,而是使用pip重新安装,或者通过执行:

sudo python setup.py install

在直接从sourceforge下载的.tar.gz发行版中,升级后的安装 似乎优先于Python模块加载路径,即使它也安装在{ {1}}!

无论如何,为了解决这个问题(或者更确切地说,我应该说,至少在Max OS X上解决这个问题),请遵循以下步骤:

  1. 使用您选择的方法从/Library/Python/2.7/site-packages卸载numpy包(/Library/Python/2.7/site-packages似乎对我有效)
  2. 确认pip uninstall numpy
  3. 下确实不再存在任何numpy包
  4. 使用出厂时的/Library/Python/2.7/site-packages重新安装numpy。不要使用任何其他替代方法,至少不要使用numpy与Apple工厂安装的Python 2.7版本
  5. 或者,使用完全不同的Python分发(例如,Canopy或Anaconda),作为已经提到的其他评论者之一,也应该也可以。

答案 1 :(得分:2)

您在评论中提到,使用pip和OS包管理器删除并不适合您。如果您可能首先使用了easy_install,请尝试easy_install -m进行删除。如果所有其他方法都失败了,您可以手动破坏文件(导入是从sys.path获取的,因此在该列表中找到的第一个版本是导入的来源)。

加载交互式python解释器并检查文件的物理位置:

>>> import numpy
>>> numpy.__file__
'/home/wim/.virtualenvs/xyz/local/lib/python2.7/site-packages/numpy/__init__.pyc'

这将告诉您需要删除哪个目录以防止导入不需要的版本。

对于卸载"这是一种有点不礼貌的方式。 numpy,所以请作为最后的手段。

答案 2 :(得分:2)

我假设你在两条路径中有不一致的numpy版本

/Library/Python/2.7/site-packages

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

我的解决方案是重命名(或删除)您不喜欢的(可能是旧版本)和符号链接另一个(较新版本)回到您删除numpy文件夹的目录。