【问题标题】:"pip3 install numpy" fails on brewed Python 3.5“pip3 install numpy”在 brewed Python 3.5 上失败
【发布时间】:2015-12-11 12:36:27
【问题描述】:

我使用 OS X Yosemite 和安装了 Homebrew 的 Python 3.5。

尝试使用pip3 install numpy 安装 NumPy 会导致以下错误

Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/w_/6ddpl57d1hx5m1m_nbhwd3qw0000gn/T/pip-build-ocs2rs8s/numpy/setup.py", line 251, in <module>
        setup_package()
      File "/private/var/folders/w_/6ddpl57d1hx5m1m_nbhwd3qw0000gn/T/pip-build-ocs2rs8s/numpy/setup.py", line 243, in setup_package
        setup(**metadata)
      File "/private/var/folders/w_/6ddpl57d1hx5m1m_nbhwd3qw0000gn/T/pip-build-ocs2rs8s/numpy/numpy/distutils/core.py", line 169, in setup
        return old_setup(**new_attr)
      File "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/lib/python3.5/distutils/core.py", line 148, in setup
        dist.run_commands()
      File "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/lib/python3.5/distutils/dist.py", line 955, in run_commands
        self.run_command(cmd)
      File "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/lib/python3.5/distutils/dist.py", line 974, in run_command
        cmd_obj.run()
      File "/private/var/folders/w_/6ddpl57d1hx5m1m_nbhwd3qw0000gn/T/pip-build-ocs2rs8s/numpy/numpy/distutils/command/install.py", line 62, in run
        r = self.setuptools_run()
      File "/private/var/folders/w_/6ddpl57d1hx5m1m_nbhwd3qw0000gn/T/pip-build-ocs2rs8s/numpy/numpy/distutils/command/install.py", line 36, in setuptools_run
        return distutils_install.run(self)
      File "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/lib/python3.5/distutils/command/install.py", line 539, in run
        self.run_command('build')
      File "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/lib/python3.5/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/lib/python3.5/distutils/dist.py", line 974, in run_command
        cmd_obj.run()
      File "/private/var/folders/w_/6ddpl57d1hx5m1m_nbhwd3qw0000gn/T/pip-build-ocs2rs8s/numpy/numpy/distutils/command/build.py", line 39, in run
        old_build.run(self)
      File "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/lib/python3.5/distutils/command/build.py", line 135, in run
        self.run_command(cmd_name)
      File "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/lib/python3.5/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/lib/python3.5/distutils/dist.py", line 974, in run_command
        cmd_obj.run()
      File "/private/var/folders/w_/6ddpl57d1hx5m1m_nbhwd3qw0000gn/T/pip-build-ocs2rs8s/numpy/numpy/distutils/command/build_src.py", line 153, in run
        self.build_sources()
      File "/private/var/folders/w_/6ddpl57d1hx5m1m_nbhwd3qw0000gn/T/pip-build-ocs2rs8s/numpy/numpy/distutils/command/build_src.py", line 170, in build_sources
        self.build_extension_sources(ext)
      File "/private/var/folders/w_/6ddpl57d1hx5m1m_nbhwd3qw0000gn/T/pip-build-ocs2rs8s/numpy/numpy/distutils/command/build_src.py", line 329, in build_extension_sources
        sources = self.generate_sources(sources, ext)
      File "/private/var/folders/w_/6ddpl57d1hx5m1m_nbhwd3qw0000gn/T/pip-build-ocs2rs8s/numpy/numpy/distutils/command/build_src.py", line 386, in generate_sources
        source = func(extension, build_dir)
      File "numpy/core/setup.py", line 432, in generate_config_h
        moredefs, ignored = cocache.check_types(config_cmd, ext, build_dir)
      File "numpy/core/setup.py", line 42, in check_types
        out = check_types(*a, **kw)
      File "numpy/core/setup.py", line 293, in check_types
        "Cannot compile 'Python.h'. Perhaps you need to "\
    SystemError: Cannot compile 'Python.h'. Perhaps you need to install python-dev|python-devel.

特别是找不到Python.h,但/usr/local/Cellar/python3/3.5.0/Frameworks/Python.framework/Versions/3.5/include/python3.5m/Python.h确实存在

我该怎么做?

【问题讨论】:

  • 你有python开发包吗?
  • 我不认为 Homebrew 使用单独的开发包。 brew search python-dev 什么也没出现。并看到这条评论:stackoverflow.com/a/21341666/3408098.
  • 不错的链接,谢谢。您可以选择使用 brew 安装 numpy 吗?
  • 我最终改用brew install homebrew/python/numpy。这行得通。

标签: python numpy python-3.5


【解决方案1】:

我也有同样的问题。

以下对我有帮助:

下载(使用您的浏览器)并安装适用于 python35 的 miniconda(在我的情况下为 64 位)。见:

http://conda.pydata.org/miniconda.html

使下载的脚本可执行

chmod 777 <scriptname>

并以适当的权限运行它。

使用 numpy 安装

conda install numpy

再次以适当的权限。

不要 sudo'ing 一切,而是 sudo xterm 并从那里开始工作。

【讨论】:

    【解决方案2】:

    这是一个已知错误,应尽快修复: https://github.com/Homebrew/homebrew/issues/43916

    【讨论】:

    • 链接到numpy bug。这是因为 3.4 及之前的版本有轮子(二进制包),而 3.5 还没有(自从提出问题之日起,Python 3.5 刚刚推出)。目前建议的解决方案是ip3 install git+https://github.com/numpy/numpy.git
    • 错字:pip3 install git+https://github.com/numpy/numpy.git(可能需要您先安装 Cython)。但另请参阅 OP 对问题本身的评论以获取替代解决方案。
    【解决方案3】:

    系统错误:无法编译“Python.h”。也许你需要安装 python-dev|python-devel。

    尝试安装python开发库。

    【讨论】:

    • 错误信息通常是针对 GNU-Linux 的。此外,它很可能必须是 python3-dev 包。 numpy 尝试提供有用的错误消息会导致更多的混乱。
    猜你喜欢
    • 2020-03-26
    • 2019-05-13
    • 1970-01-01
    • 2020-02-17
    • 2021-04-08
    • 2016-07-29
    • 1970-01-01
    • 2018-08-10
    • 2012-04-30
    相关资源
    最近更新 更多