可以绕过python的numpy-override.pth吗?

问题描述 投票:0回答:1

我一直在讨论numpy的问题,特别是可以访问numpy.stacknumpy.moveaxis之类的新功能,这些功能自v1.10开始实施。

我使用numpy更新了pip,这是我的python的首选包管理器。 pip install --upgrade numpy回归:

Requirement already up-to-date: numpy in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

当我运行pip freeze | grep numpy时,我得到:numpy==1.13.3。但是,如果我尝试在终端中运行python:

>>> import numpy
>>> numpy.stack
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'stack'
>>> numpy.__version__
'1.9.2'
>>> numpy.__file__
'/Library/Python/2.7/site-packages/numpy-override/numpy/__init__.pyc'

很明显,python正在尝试使用numpy-override.pth指定的旧安装。我认为这是在我安装Quantum GIS时使用的(我使用kyngchaos安装程序)。我想更新这个版本的numpy,但我认为这可能会破坏QGIS的依赖性。所以,我想绕过这个并使用由numpy安装的pip的更新版本。但是我的印象是numpy-override.pth否决了所有其他路径设置,我需要一个允许QGIS继续工作的解决方案。

有什么建议?

运行Mac OS X 10.11.6 El Capitan。

python macos numpy
1个回答
1
投票

删除numpy-override.pth。它所做的只是告诉python在哪里找到numpy。如果它告诉python在错误的地方看,那么它就没有完成它的工作。默认情况下,python会查看site-packages。然而,pth获得第一个dib并且可以告诉python首先搜索其他地方。由于numpy确实存在于override目录中,因此python很乐意使用该版本。

但是,GIS堆栈上的this question表示QGIS希望在pth文件所在的位置(使用覆盖位)找到numpy。

因此,您可能更喜欢使用--prefix选项重新安装numpy并告诉pipnumpy放在override目录中。即。

pip install numpy --target=/Library/Python/2.7/site-packages/numpy-override
© www.soinside.com 2019 - 2024. All rights reserved.