为pypy2.2.1安装numpy时出错

时间:2014-03-12 05:31:00

标签: python numpy pypy

我正在尝试使用pypy。我的python脚本正在使用numpy。因此,当我使用pypy 1.9.0时它向我展示了这个:

"The 'numpy' module of PyPy is in-development and not complete. "
ImportError: The '`numpy' module` of PyPy is in-development and not complete. To try it out anyway, you can either import from 'numpypy', or just write 'import numpypy' first in your program and then import from 'numpy' as usual.

所以我使用了import numpypy,然后运行了我的脚本。我收到了这个错误:

File "customecode.py", line 97, in dist_new
    dlat = radians(p2[..., 0] - p1[..., 0])
TypeError: expected integer, got Ellipsis object

我无法找到任何关于此类错误的信息。虽然我使用python时脚本运行正常。所以我的猜测可能是pypy仍然不支持numpy上的所有内容。

我在pypy-numpy更新中发现了这个链接。所以我安装了pypy 2.2.1 http://morepypy.blogspot.in/2013/11/numpy-status-update.html 在此链接中,以下说明用于安装numpy for pypy:

git clone https://bitbucket.org/pypy/numpy.git
cd numpy
pypy setup.py install

运行pypy setup.py install后出现此类型错误:

Traceback (most recent call last):
  File "app_main.py", line 51, in run_toplevel
  File "setup.py", line 239, in <module>
    setup_package()
  File "setup.py", line 231, in setup_package
    setup(**metadata)
  File "/home/administrator/numpy/numpy/distutils/core.py", line 169, in setup
    return old_setup(**new_attr)
  File "/usr/lib/pypy/lib-python/2.7/distutils/core.py", line 152, in setup
    dist.run_commands()
  File "/usr/lib/pypy/lib-python/2.7/distutils/dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "/usr/lib/pypy/lib-python/2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/home/administrator/numpy/numpy/distutils/command/install.py", line 57, in run
    r = old_install.run(self)
  File "/usr/lib/pypy/lib-python/2.7/distutils/command/install.py", line 613, in run
    self.run_command('build')
  File "/usr/lib/pypy/lib-python/2.7/distutils/cmd.py", line 326, in run_command
    self.distribution.run_command(command)
  File "/usr/lib/pypy/lib-python/2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/home/administrator/numpy/numpy/distutils/command/build.py", line 39, in run
    old_build.run(self)
  File "/usr/lib/pypy/lib-python/2.7/distutils/command/build.py", line 127, in run
    self.run_command(cmd_name)
  File "/usr/lib/pypy/lib-python/2.7/distutils/cmd.py", line 326, in run_command
    self.distribution.run_command(command)
  File "/usr/lib/pypy/lib-python/2.7/distutils/dist.py", line 972, in run_command
    cmd_obj.run()
  File "/home/administrator/numpy/numpy/distutils/command/build_src.py", line 153, in run
    self.build_sources()
  File "/home/administrator/numpy/numpy/distutils/command/build_src.py", line 164, in build_sources
    self.build_library_sources(*libname_info)
  File "/home/administrator/numpy/numpy/distutils/command/build_src.py", line 299, in build_library_sources
    sources = self.generate_sources(sources, (lib_name, build_info))
  File "/home/administrator/numpy/numpy/distutils/command/build_src.py", line 386, in generate_sources
    source = func(extension, build_dir)
  File "numpy/core/setup.py", line 678, in get_mathlib_info
    st = config_cmd.try_link('int main(void) { return 0;}')
  File "/usr/lib/pypy/lib-python/2.7/distutils/command/config.py", line 248, in try_link
    self._check_compiler()
  File "/home/administrator/numpy/numpy/distutils/command/config.py", line 46, in _check_compiler
    old_config._check_compiler(self)
  File "/usr/lib/pypy/lib-python/2.7/distutils/command/config.py", line 103, in _check_compiler
    customize_compiler(self.compiler)
  File "/usr/lib/pypy/lib-python/2.7/distutils/ccompiler.py", line 44, in customize_compiler
    cpp = cc + " -E"           # not always
TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'

我想使用pypy 2.2.1与那里提供的numpy的任何开发。任何有关安装numpy for pypy的帮助都表示赞赏。

1 个答案:

答案 0 :(得分:1)

在PyPy 2.2.1中,文件lib-python / 2.7 / distutils / ccompiler.py不包含任何名为customize_compiler()的函数,而第44行不是这样的。我的猜测是你的Linux发行版已经调整了你的PyPy标准库的版本,使其在你的特定情况下崩溃。

我只能建议您尝试获得&#34;官方&#34; PyPy 2.2.1并比较结果。