【发布时间】:2015-01-28 00:24:00
【问题描述】:
我一直在尝试使用 Yosemite 和全新安装的 ActiveState Python 3.4 在 MacBook Pro 上安装 numpy、pysci 等。我尝试了许多轮文件,但都以“此平台上不支持轮子”而失败。例如,使用来自https://pypi.python.org/pypi/numpy 的 Python 3.4 的最新 Wheel 文件:
...$ sudo pip3 install numpy-1.9.1-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
numpy-1.9.1-cp34-cp34m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl is not a supported wheel on this platform.
我通过 wheel.py、req.py 和 pep425tags.py 追踪我的方式,试图了解它失败的原因。 在 pep425tags.py 它使用
distutils.util.get_platform().replace('.', '_').replace('-', '_')
然后,大概会与轮文件的文件名中的标签进行比较。
自从我升级到 Yosemite 后,我预计我的计算机会返回类似“macosx_10_10_intel”或“macosx_10_10_x86_64”的信息,但它返回的是“macosx_10_6_x86_64”
>>> import distutils.util
>>> distutils.util.get_platform().replace('.', '_').replace('-', '_')
'macosx_10_6_x86_64'
>>>
优胜美地显然是在报告说它是雪豹,我说得对吗?还是 Python 3.4 弄错了?这是我的轮文件问题吗?如果有,有解决办法吗?
更新到 Python 3.4.2 解决了这个问题,我能够安装 numpy wheel 文件。 但是请注意, distutils.util.get_platform() 仍然报告“macosx_10_6_intel”,但这并不影响安装。
Python 3.4.2 (v3.4.2:ab2c023a9432, Oct 5 2014, 20:42:22)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "copyright", "credits" or "license()" for more information.
>>> import distutils.util
>>> distutils.util.get_platform().replace('.', '_').replace('-', '_')
'macosx_10_6_intel'
【问题讨论】:
-
我在安装 Yosemite 10.10 时收到
'macosx_10_10_x86_64'。你确定你在 Python 3.4 中使用它吗? -
您可以将
_PYTHON_HOST_PLATFORM环境变量设置为覆盖。 -
Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 00:54:21) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin Type " copyright”、“credits”或“license()”了解更多信息。 >>> 导入 distutils.util >>> distutils.util.get_platform().replace('.', '').replace('-', '') 'macosx_10_6_x86_64' >>>
-
是否设置了
MACOSX_DEPLOYMENT_TARGET环境变量? -
谢谢马丁。对不起,我有点新 - 我会在哪里做呢?感谢您的耐心等待。
标签: python-3.x numpy pip osx-yosemite