我安装了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。
答案 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上解决这个问题),请遵循以下步骤:
/Library/Python/2.7/site-packages
卸载numpy包(/Library/Python/2.7/site-packages
似乎对我有效)pip uninstall numpy
/Library/Python/2.7/site-packages
重新安装numpy。不要使用任何其他替代方法,至少不要使用numpy与Apple工厂安装的Python 2.7版本或者,使用完全不同的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文件夹的目录。