如何在PyPy7.2.0和Centos7上安装matplotlib?

问题描述 投票:0回答:1

虽然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发行版...

matplotlib pip centos python-3.6 pypy
1个回答
-1
投票

标题应该是“如何在centos7上将numpy安装到pypy2 5.0.1中”,matplotlib无关紧要,似乎您使用的pypy2版本5.0.1已经很老了。有关更多信息,请访问PyPy issue tracker

© www.soinside.com 2019 - 2024. All rights reserved.