2014-03-12 26 views
0

我正在嘗試使用pypy。我的Python腳本使用numpy。所以,當我用pypy 1.9.0這表明我:爲pypy2.1安裝numpy時出錯

"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. 

所以我用進口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的讚賞。

+0

代碼是否使用常規numpy?你能證明違規行嗎? – mgilson

+0

當我使用「python myscript.py」時,是的代碼工作正常當我使用「pypy myscript.py」時出現錯誤。 – sau

+0

「dlat =弧度(p2 [...,0] - p1 [...,0])」這是顯示錯誤的行 – sau

回答

1

在PyPy 2.2.1中,文件lib-python/2.7/distutils/ccompiler.py不包含任何名爲customize_compiler()的函數,而第44行不是這樣的。我的猜測是,你的PyPy標準庫版本已經被你的Linux發行版所調整,使得它在你的特定情況下崩潰。

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