簡體   English   中英

為pypy2.2.1安裝numpy時出現錯誤

[英]error when installing numpy for pypy2.2.1

我正在嘗試使用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在此鏈接中,給出了以下說明,用於為pypy安裝numpy:

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開發一起使用。 感謝為pypy安裝numpy的任何幫助。

在PyPy 2.2.1中,文件lib-python / 2.7 / distutils / ccompiler.py不包含任何稱為custom_compiler()的函數,並且第44行不是這樣。 我的猜測是您的PyPy標准庫版本已由Linux發行版進行了調整,從而使其在特定情況下崩潰。

我只能建議您嘗試獲取“官方” PyPy 2.2.1並比較結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM