虽然matplotlib在PyPy的第2版中不受支持,但现在在PyPy5.4及更高版本中已正式受支持(已声明可以正常安装和运行)。>>
因此,我从Google容器映像中建立了一个新的Centos发行版。仅使用yum安装了gcc和所需的库。使用官方二进制文件(无需编译)安装PyPy 7.2.0,无需执行其他任何操作(甚至不定义CFLAGS和CC),并且:
[ed25519-key-20190822@instance-1 ~]$ pypy3 -m pip install matplotlib Collecting matplotlib Using cached https://files.pythonhosted.org/packages/12/d1/7b12cd79c791348cb0c78ce6e7d16bd72992f13c9f1e8e43d2725a6d8adf/matplotlib-3.1.1.tar.gz Complete output from command python setup.py egg_info: ================================================================================ Edit setup.cfg to change the build options BUILDING MATPLOTLIB matplotlib: yes [3.1.1] python: yes [3.6.9 (5da45ced70e5, Oct 09 2019, 19:12:54) [PyPy 7.2.0 with GCC 6.2.0 20160901]] platform: yes [linux] OPTIONAL SUBPACKAGES sample_data: yes [installing] tests: no [skipping due to configuration] OPTIONAL BACKEND EXTENSIONS agg: yes [installing] tkagg: yes [installing; run-time loading from Python Tcl/Tk] macosx: no [Mac OS-X only] OPTIONAL PACKAGE DATA dlls: no [skipping due to configuration] non-existing path in 'numpy/distutils': 'site.cfg' File: build/src.linux-x86_64-3.6/numpy/core/include/numpy/config.h #define HAVE_ENDIAN_H 1 #define SIZEOF_PY_INTPTR_T 8 #define SIZEOF_OFF_T 8 #define SIZEOF_PY_LONG_LONG 8 #define MATHLIB m #define HAVE_SIN 1 #define HAVE_COS 1 #define HAVE_TAN 1 #define HAVE_SINH 1 #define HAVE_COSH 1 #define HAVE_TANH 1 #define HAVE_FABS 1 #define HAVE_FLOOR 1 #define HAVE_CEIL 1 #define HAVE_SQRT 1 #define HAVE_LOG10 1 #define HAVE_LOG 1 #define HAVE_EXP 1 #define HAVE_ASIN 1 #define HAVE_ACOS 1 #define HAVE_ATAN 1 #define HAVE_FMOD 1 #define HAVE_MODF 1 #define HAVE_FREXP 1 #define HAVE_LDEXP 1 #define HAVE_EXPM1 1 #define HAVE_LOG1P 1 #define HAVE_ACOSH 1 #define HAVE_ASINH 1 #define HAVE_ATANH 1 #define HAVE_RINT 1 #define HAVE_TRUNC 1 #define HAVE_EXP2 1 #define HAVE_LOG2 1 #define HAVE_HYPOT 1 #define HAVE_ATAN2 1 #define HAVE_POW 1 #define HAVE_COPYSIGN 1 #define HAVE_NEXTAFTER 1 #define HAVE_FTELLO 1 #define HAVE_FSEEKO 1 #define HAVE_STRTOLL 1 #define HAVE_STRTOULL 1 #define HAVE_CBRT 1 #define HAVE_STRTOLD_L 1 #define HAVE_FALLOCATE 1 #define HAVE_BACKTRACE 1 #define HAVE_MADVISE 1 #define HAVE_XMMINTRIN_H 1 #define HAVE_EMMINTRIN_H 1 #define HAVE_IMMINTRIN_H 1 #define HAVE_FEATURES_H 1 #define HAVE_XLOCALE_H 1 #define HAVE_DLFCN_H 1 #define HAVE_SYS_MMAN_H 1 #define HAVE___BUILTIN_ISNAN 1 #define HAVE___BUILTIN_ISINF 1 #define HAVE___BUILTIN_ISFINITE 1 #define HAVE___BUILTIN_BSWAP32 1 #define HAVE___BUILTIN_BSWAP64 1 #define HAVE___BUILTIN_EXPECT 1 #define HAVE___BUILTIN_CPU_SUPPORTS 1 #define HAVE__M_FROM_INT64 1 #define HAVE__MM_LOAD_PS 1 #define HAVE__MM_PREFETCH 1 #define HAVE__MM_LOAD_PD 1 #define HAVE___BUILTIN_PREFETCH 1 #define HAVE_LINK_AVX 1 #define HAVE_LINK_AVX2 1 #define HAVE_LINK_AVX512F 1 #define HAVE_XGETBV 1 #define HAVE_ATTRIBUTE_OPTIMIZE_UNROLL_LOOPS 1 #define HAVE_ATTRIBUTE_OPTIMIZE_OPT_3 1 #define HAVE_ATTRIBUTE_NONNULL 1 #define HAVE_ATTRIBUTE_TARGET_AVX 1 #define HAVE_ATTRIBUTE_TARGET_AVX2 1 #define HAVE___THREAD 1 #define HAVE_SINF 1 #define HAVE_COSF 1 #define HAVE_TANF 1 #define HAVE_SINHF 1 #define HAVE_COSHF 1 #define HAVE_TANHF 1 #define HAVE_FABSF 1 #define HAVE_FLOORF 1 #define HAVE_CEILF 1 #define HAVE_RINTF 1 #define HAVE_TRUNCF 1 #define HAVE_SQRTF 1 #define HAVE_LOG10F 1 #define HAVE_LOGF 1 #define HAVE_LOG1PF 1 #define HAVE_EXPF 1 #define HAVE_EXPM1F 1 #define HAVE_ASINF 1 #define HAVE_ACOSF 1 #define HAVE_ATANF 1 #define HAVE_ASINHF 1 #define HAVE_ACOSHF 1 #define HAVE_ATANHF 1 #define HAVE_HYPOTF 1 #define HAVE_ATAN2F 1 #define HAVE_POWF 1 #define HAVE_FMODF 1 #define HAVE_MODFF 1 #define HAVE_FREXPF 1 #define HAVE_LDEXPF 1 #define HAVE_EXP2F 1 #define HAVE_LOG2F 1 #define HAVE_COPYSIGNF 1 #define HAVE_NEXTAFTERF 1 #define HAVE_CBRTF 1 #define HAVE_SINL 1 #define HAVE_COSL 1 #define HAVE_TANL 1 #define HAVE_SINHL 1 #define HAVE_COSHL 1 #define HAVE_TANHL 1 #define HAVE_FABSL 1 #define HAVE_FLOORL 1 #define HAVE_CEILL 1 #define HAVE_RINTL 1 #define HAVE_TRUNCL 1 #define HAVE_SQRTL 1 #define HAVE_LOG10L 1 #define HAVE_LOGL 1 #define HAVE_LOG1PL 1 #define HAVE_EXPL 1 #define HAVE_EXPM1L 1 #define HAVE_ASINL 1 #define HAVE_ACOSL 1 #define HAVE_ATANL 1 #define HAVE_ASINHL 1 #define HAVE_ACOSHL 1 #define HAVE_ATANHL 1 #define HAVE_HYPOTL 1 #define HAVE_ATAN2L 1 #define HAVE_POWL 1 #define HAVE_FMODL 1 #define HAVE_MODFL 1 #define HAVE_FREXPL 1 #define HAVE_LDEXPL 1 #define HAVE_EXP2L 1 #define HAVE_LOG2L 1 #define HAVE_COPYSIGNL 1 #define HAVE_NEXTAFTERL 1 #define HAVE_CBRTL 1 #define HAVE_DECL_ISNAN #define HAVE_DECL_ISINF #define HAVE_DECL_SIGNBIT #define HAVE_DECL_ISFINITE #define HAVE_COMPLEX_H 1 #define HAVE_CABS 1 #define HAVE_CACOS 1 #define HAVE_CACOSH 1 #define HAVE_CARG 1 #define HAVE_CASIN 1 #define HAVE_CASINH 1 #define HAVE_CATAN 1 #define HAVE_CATANH 1 #define HAVE_CCOS 1 #define HAVE_CCOSH 1 #define HAVE_CEXP 1 #define HAVE_CIMAG 1 #define HAVE_CLOG 1 #define HAVE_CONJ 1 #define HAVE_CPOW 1 #define HAVE_CPROJ 1 #define HAVE_CREAL 1 #define HAVE_CSIN 1 #define HAVE_CSINH 1 #define HAVE_CSQRT 1 #define HAVE_CTAN 1 #define HAVE_CTANH 1 #define HAVE_CABSF 1 #define HAVE_CACOSF 1 #define HAVE_CACOSHF 1 #define HAVE_CARGF 1 #define HAVE_CASINF 1 #define HAVE_CASINHF 1 #define HAVE_CATANF 1 #define HAVE_CATANHF 1 #define HAVE_CCOSF 1 #define HAVE_CCOSHF 1 #define HAVE_CEXPF 1 #define HAVE_CIMAGF 1 #define HAVE_CLOGF 1 #define HAVE_CONJF 1 #define HAVE_CPOWF 1 #define HAVE_CPROJF 1 #define HAVE_CREALF 1 #define HAVE_CSINF 1 #define HAVE_CSINHF 1 #define HAVE_CSQRTF 1 #define HAVE_CTANF 1 #define HAVE_CTANHF 1 #define HAVE_CABSL 1 #define HAVE_CACOSL 1 #define HAVE_CACOSHL 1 #define HAVE_CARGL 1 #define HAVE_CASINL 1 #define HAVE_CASINHL 1 #define HAVE_CATANL 1 #define HAVE_CATANHL 1 #define HAVE_CCOSL 1 #define HAVE_CCOSHL 1 #define HAVE_CEXPL 1 #define HAVE_CIMAGL 1 #define HAVE_CLOGL 1 #define HAVE_CONJL 1 #define HAVE_CPOWL 1 #define HAVE_CPROJL 1 #define HAVE_CREALL 1 #define HAVE_CSINL 1 #define HAVE_CSINHL 1 #define HAVE_CSQRTL 1 #define HAVE_CTANL 1 #define HAVE_CTANHL 1 #define NPY_RESTRICT restrict #define NPY_RELAXED_STRIDES_CHECKING 1 #define HAVE_LDOUBLE_INTEL_EXTENDED_16_BYTES_LE 1 #define NPY_PY3K 1 #ifndef __cplusplus /* #undef inline */ #endif #ifndef _NPY_NPY_CONFIG_H_ #error config.h should never be included directly, include npy_config.h instead #endif EOF File: build/src.linux-x86_64-3.6/numpy/core/include/numpy/_numpyconfig.h #define NPY_HAVE_ENDIAN_H 1 #define NPY_SIZEOF_SHORT SIZEOF_SHORT #define NPY_SIZEOF_INT SIZEOF_INT #define NPY_SIZEOF_LONG SIZEOF_LONG #define NPY_SIZEOF_FLOAT 4 #define NPY_SIZEOF_COMPLEX_FLOAT 8 #define NPY_SIZEOF_DOUBLE 8 #define NPY_SIZEOF_COMPLEX_DOUBLE 16 #define NPY_SIZEOF_LONGDOUBLE 16 #define NPY_SIZEOF_COMPLEX_LONGDOUBLE 32 #define NPY_SIZEOF_PY_INTPTR_T 8 #define NPY_SIZEOF_OFF_T 8 #define NPY_SIZEOF_PY_LONG_LONG 8 #define NPY_SIZEOF_LONGLONG 8 #define NPY_NO_SMP 0 #define NPY_HAVE_DECL_ISNAN #define NPY_HAVE_DECL_ISINF #define NPY_HAVE_DECL_SIGNBIT #define NPY_HAVE_DECL_ISFINITE #define NPY_USE_C99_COMPLEX 1 #define NPY_HAVE_COMPLEX_DOUBLE 1 #define NPY_HAVE_COMPLEX_FLOAT 1 #define NPY_HAVE_COMPLEX_LONG_DOUBLE 1 #define NPY_RELAXED_STRIDES_CHECKING 1 #define NPY_USE_C99_FORMATS 1 #define NPY_VISIBILITY_HIDDEN __attribute__((visibility("hidden"))) #define NPY_ABI_VERSION 0x01000009 #define NPY_API_VERSION 0x0000000D #ifndef __STDC_FORMAT_MACROS #define __STDC_FORMAT_MACROS 1 #endif EOF no previously-included directories found matching 'doc/build' no previously-included directories found matching 'doc/source/generated' no previously-included directories found matching 'benchmarks/env' no previously-included directories found matching 'benchmarks/results' no previously-included directories found matching 'benchmarks/html' no previously-included directories found matching 'benchmarks/numpy' warning: no previously-included files matching '*.pyo' found anywhere in distribution warning: no previously-included files matching '*.pyd' found anywhere in distribution warning: no previously-included files matching '*.swp' found anywhere in distribution warning: no previously-included files matching '*.bak' found anywhere in distribution warning: no previously-included files matching '*~' found anywhere in distribution warning: no previously-included files found matching 'LICENSES_bundled.txt' numpy/core/src/multiarray/number.c: In function 'array_scalar_forward': numpy/core/src/multiarray/number.c:909:9: warning: passing argument 1 of 'PyPy_EnterRecursiveCall' discards 'const' qualifier from pointer target type [enabled by default] if (Npy_EnterRecursiveCall(where) != 0) { ^ In file included from /usr/lib64/pypy-5.0.1/include/Python.h:142:0, from numpy/core/src/multiarray/number.c:2: /usr/lib64/pypy-5.0.1/include/pypy_decl.h:945:31: note: expected 'char *' but argument is of type 'const char *' #define Py_EnterRecursiveCall PyPy_EnterRecursiveCall ^ /usr/lib64/pypy-5.0.1/include/pypy_decl.h:946:17: note: in expansion of macro 'Py_EnterRecursiveCall' PyAPI_FUNC(int) Py_EnterRecursiveCall(char *arg0); ^ In file included from numpy/core/src/common/numpyos.c:23:0: /usr/include/xlocale.h:27:16: error: redefinition of 'struct __locale_struct' typedef struct __locale_struct ^ In file included from /usr/include/bits/types/locale_t.h:22:0, from /usr/include/stdlib.h:272, from /usr/lib64/pypy-5.0.1/include/Python.h:59, from numpy/core/src/common/numpyos.c:2: /usr/include/bits/types/__locale_t.h:28:8: note: originally defined here struct __locale_struct ^ In file included from numpy/core/src/common/numpyos.c:23:0: /usr/include/xlocale.h:39:4: error: conflicting types for '__locale_t' } *__locale_t; ^ In file included from /usr/include/bits/types/locale_t.h:22:0, from /usr/include/stdlib.h:272, from /usr/lib64/pypy-5.0.1/include/Python.h:59, from numpy/core/src/common/numpyos.c:2: /usr/include/bits/types/__locale_t.h:42:33: note: previous declaration of '__locale_t' was here typedef struct __locale_struct *__locale_t; ^ In file included from numpy/core/src/common/numpyos.c:23:0: /usr/include/xlocale.h:42:20: error: conflicting types for 'locale_t' typedef __locale_t locale_t; ^ In file included from /usr/include/stdlib.h:272:0, from /usr/lib64/pypy-5.0.1/include/Python.h:59, from numpy/core/src/common/numpyos.c:2: /usr/include/bits/types/locale_t.h:24:20: note: previous declaration of 'locale_t' was here typedef __locale_t locale_t; ^ numpy/core/src/common/numpyos.c: In function 'NumPyOS_ascii_strtold': numpy/core/src/common/numpyos.c:568:13: warning: assignment from incompatible pointer type [enabled by default] clocale = newlocale(LC_ALL_MASK, "C", NULL); ^ numpy/core/src/common/numpyos.c:571:9: warning: passing argument 3 of 'strtold_l' from incompatible pointer type [enabled by default] result = strtold_l(s, endptr, clocale); ^ In file included from /usr/lib64/pypy-5.0.1/include/Python.h:59:0, from numpy/core/src/common/numpyos.c:2: /usr/include/stdlib.h:303:20: note: expected 'locale_t' but argument is of type 'locale_t' extern long double strtold_l (const char *__restrict __nptr, ^ numpy/core/src/common/numpyos.c:572:9: warning: passing argument 1 of 'freelocale' from incompatible pointer type [enabled by default] freelocale(clocale); ^ In file included from /usr/lib64/pypy-5.0.1/include/Python.h:92:0, from numpy/core/src/common/numpyos.c:2: /usr/include/locale.h:180:13: note: expected 'locale_t' but argument is of type 'locale_t' extern void freelocale (locale_t __dataset) __THROW; ^ Running from numpy source directory. /tmp/easy_install-2xcla9yj/numpy-1.17.3/setup.py:418: UserWarning: Unrecognized setuptools command, proceeding with generating Cython sources and expanding templates run_build = parse_setuppy_commands() /usr/lib64/pypy-5.0.1/lib-python/3/distutils/dist.py:261: UserWarning: Unknown distribution option: 'define_macros' warnings.warn(msg) Traceback (most recent call last): File "/tmp/easy_install-2xcla9yj/numpy-1.17.3/numpy/distutils/unixccompiler.py", line 58, in UnixCCompiler__compile File "/tmp/easy_install-2xcla9yj/numpy-1.17.3/numpy/distutils/ccompiler.py", line 92, in <lambda> File "/tmp/easy_install-2xcla9yj/numpy-1.17.3/numpy/distutils/ccompiler.py", line 172, in CCompiler_spawn distutils.errors.DistutilsExecError: Command "gcc -pthread -DNDEBUG -O2 -std=gnu99 -fPIC -DNPY_INTERNAL_BUILD=1 -DHAVE_NPY_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -DHAVE_CBLAS -Ibuild/src.linux-x86_64-3.6/numpy/core/src/umath -Ibuild/src.linux-x86_64-3.6/numpy/core/src/npymath -Ibuild/src.linux-x86_64-3.6/numpy/core/src/common -Inumpy/core/include -Ibuild/src.linux-x86_64-3.6/numpy/core/include/numpy -Inumpy/core/src/common -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/usr/lib64/pypy-5.0.1/include -Ibuild/src.linux-x86_64-3.6/numpy/core/src/common -Ibuild/src.linux-x86_64-3.6/numpy/core/src/npymath -Ibuild/src.linux-x86_64-3.6/numpy/core/src/common -Ibuild/src.linux-x86_64-3.6/numpy/core/src/npymath -c numpy/core/src/common/numpyos.c -o build/temp.linux-x86_64-3.6/numpy/core/src/common/numpyos.o -MMD -MF build/temp.linux-x86_64-3.6/numpy/core/src/common/numpyos.o.d" failed with exit status 1 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib64/pypy-5.0.1/lib-python/3/distutils/core.py", line 148, in setup dist.run_commands() File "/usr/lib64/pypy-5.0.1/lib-python/3/distutils/dist.py", line 955, in run_commands self.run_command(cmd) File "/usr/lib64/pypy-5.0.1/lib-python/3/distutils/dist.py", line 974, in run_command cmd_obj.run() File "/usr/lib64/pypy-5.0.1/site-packages/setuptools/command/bdist_egg.py", line 172, in run cmd = self.call_command('install_lib', warn_dir=0) File "/usr/lib64/pypy-5.0.1/site-packages/setuptools/command/bdist_egg.py", line 158, in call_command self.run_command(cmdname) File "/usr/lib64/pypy-5.0.1/lib-python/3/distutils/cmd.py", line 313, in run_command self.distribution.run_command(command) File "/usr/lib64/pypy-5.0.1/lib-python/3/distutils/dist.py", line 974, in run_command cmd_obj.run() File "/usr/lib64/pypy-5.0.1/site-packages/setuptools/command/install_lib.py", line 11, in run self.build() File "/usr/lib64/pypy-5.0.1/lib-python/3/distutils/command/install_lib.py", line 107, in build self.run_command('build_ext') File "/usr/lib64/pypy-5.0.1/lib-python/3/distutils/cmd.py", line 313, in run_command self.distribution.run_command(command) File "/usr/lib64/pypy-5.0.1/lib-python/3/distutils/dist.py", line 974, in run_command cmd_obj.run() File "/tmp/easy_install-2xcla9yj/numpy-1.17.3/numpy/distutils/command/build_ext.py", line 261, in run File "/usr/lib64/pypy-5.0.1/lib-python/3/distutils/command/build_ext.py", line 456, in build_extensions self._build_extensions_serial() File "/usr/lib64/pypy-5.0.1/lib-python/3/distutils/command/build_ext.py", line 481, in _build_extensions_serial self.build_extension(ext) File "/tmp/easy_install-2xcla9yj/numpy-1.17.3/numpy/distutils/command/build_ext.py", line 379, in build_extension File "/tmp/easy_install-2xcla9yj/numpy-1.17.3/numpy/distutils/ccompiler.py", line 92, in <lambda> File "/tmp/easy_install-2xcla9yj/numpy-1.17.3/numpy/distutils/ccompiler.py", line 363, in CCompiler_compile File "/tmp/easy_install-2xcla9yj/numpy-1.17.3/numpy/distutils/ccompiler.py", line 323, in single_compile File "/tmp/easy_install-2xcla9yj/numpy-1.17.3/numpy/distutils/ccompiler.py", line 92, in <lambda> File "/tmp/easy_install-2xcla9yj/numpy-1.17.3/numpy/distutils/unixccompiler.py", line 61, in UnixCCompiler__compile distutils.errors.CompileError: Command "gcc -pthread -DNDEBUG -O2 -std=gnu99 -fPIC -DNPY_INTERNAL_BUILD=1 -DHAVE_NPY_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -DHAVE_CBLAS -Ibuild/src.linux-x86_64-3.6/numpy/core/src/umath -Ibuild/src.linux-x86_64-3.6/numpy/core/src/npymath -Ibuild/src.linux-x86_64-3.6/numpy/core/src/common -Inumpy/core/include -Ibuild/src.linux-x86_64-3.6/numpy/core/include/numpy -Inumpy/core/src/common -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/usr/lib64/pypy-5.0.1/include -Ibuild/src.linux-x86_64-3.6/numpy/core/src/common -Ibuild/src.linux-x86_64-3.6/numpy/core/src/npymath -Ibuild/src.linux-x86_64-3.6/numpy/core/src/common -Ibuild/src.linux-x86_64-3.6/numpy/core/src/npymath -c numpy/core/src/common/numpyos.c -o build/temp.linux-x86_64-3.6/numpy/core/src/common/numpyos.o -MMD -MF build/temp.linux-x86_64-3.6/numpy/core/src/common/numpyos.o.d" failed with exit status 1 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib64/pypy-5.0.1/site-packages/setuptools/sandbox.py", line 195, in setup_context yield File "/usr/lib64/pypy-5.0.1/site-packages/setuptools/sandbox.py", line 250, in run_setup _execfile(setup_script, ns) File "/usr/lib64/pypy-5.0.1/site-packages/setuptools/sandbox.py", line 45, in _execfile exec(code, globals, locals) File "/tmp/easy_install-2xcla9yj/numpy-1.17.3/setup.py", line 443, in <module> File "/tmp/easy_install-2xcla9yj/numpy-1.17.3/setup.py", line 435, in setup_package File "/tmp/easy_install-2xcla9yj/numpy-1.17.3/numpy/distutils/core.py", line 171, in setup File "/usr/lib64/pypy-5.0.1/site-packages/setuptools/__init__.py", line 143, in setup return distutils.core.setup(**attrs) File "/usr/lib64/pypy-5.0.1/lib-python/3/distutils/core.py", line 163, in setup raise SystemExit("error: " + str(msg)) SystemExit: error: Command "gcc -pthread -DNDEBUG -O2 -std=gnu99 -fPIC -DNPY_INTERNAL_BUILD=1 -DHAVE_NPY_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -DHAVE_CBLAS -Ibuild/src.linux-x86_64-3.6/numpy/core/src/umath -Ibuild/src.linux-x86_64-3.6/numpy/core/src/npymath -Ibuild/src.linux-x86_64-3.6/numpy/core/src/common -Inumpy/core/include -Ibuild/src.linux-x86_64-3.6/numpy/core/include/numpy -Inumpy/core/src/common -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/usr/lib64/pypy-5.0.1/include -Ibuild/src.linux-x86_64-3.6/numpy/core/src/common -Ibuild/src.linux-x86_64-3.6/numpy/core/src/npymath -Ibuild/src.linux-x86_64-3.6/numpy/core/src/common -Ibuild/src.linux-x86_64-3.6/numpy/core/src/npymath -c numpy/core/src/common/numpyos.c -o build/temp.linux-x86_64-3.6/numpy/core/src/common/numpyos.o -MMD -MF build/temp.linux-x86_64-3.6/numpy/core/src/common/numpyos.o.d" failed with exit status 1 ---------------------------------------- Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-q5nuqdhw/matplotlib/ You are using pip version 18.1, however version 19.3.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command.
所以具体问题在这里:
In file included from numpy/core/src/common/numpyos.c:23:0: /usr/include/xlocale.h:39:4: error: conflicting types for '__locale_t' } *__locale_t; ^ In file included from /usr/include/bits/types/locale_t.h:22:0, from /usr/include/stdlib.h:272, from /usr/lib64/pypy-5.0.1/include/Python.h:59, from numpy/core/src/common/numpyos.c:2: /usr/include/bits/types/__locale_t.h:42:33: note: previous declaration of '__locale_t' was here typedef struct __locale_struct *__locale_t;
如何在不使用年度黑客的情况下,准确地解决yum安装的系统头文件之间的冲突定义?
虽然matplotlib在PyPy的第2版中不受支持,但现在在PyPy5.4及更高版本中已正式受支持(已声明可以正常安装和运行)。所以我建立了一个新的Centos发行版...
标题应该是“如何在centos7上将numpy安装到pypy2 5.0.1中”,matplotlib无关紧要,似乎您使用的pypy2版本5.0.1已经很老了。有关更多信息,请访问PyPy issue tracker