我正在尝试使用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的帮助都表示赞赏。
答案 0 :(得分:1)
在PyPy 2.2.1中,文件lib-python / 2.7 / distutils / ccompiler.py不包含任何名为customize_compiler()的函数,而第44行不是这样的。我的猜测是你的Linux发行版已经调整了你的PyPy标准库的版本,使其在你的特定情况下崩溃。
我只能建议您尝试获得&#34;官方&#34; PyPy 2.2.1并比较结果。