简体   繁体   中英

Pip install significantly slower on Python 3.5 versus 2.7 (RHEL)

I'm currently running Red Hat 7.3 and installed Python 3.5 from the SCL (www.softwarecollections.org/en/scls/rhscl/rh-python35/). When I attempt to pip install C intensive packages such as numpy and pandas, the install process on Python 3.5 is taking significantly longer than when I attempt to install the same packages in the native Python 2.7 installation (6 minutes per package versus ~10 seconds).

I have some automated processes that are building and rebuilding virtual environments on a frequent basis, so this is having a huge impact on the overall performance. Does anyone know why these installations are taking significantly longer in Python 3.5? Any help would be greatly appreciated.

Here's a snippet of the 'pip install numpy -v' on both versions. The obvious thing that jumps out at me is the GCC building that occurs in 3.5 and not in 2.7 but I'm not sure why...

Native Python 2.7:

  Looking up "https://pypi.python.org/packages/dd/b5/47bd2174dbb14e5fa2dd6ad28fd1d54d38e84d29c1b131a00354ddb0cae0/numpy-1.13.0-cp27-cp27mu-manylinux1_x86_64.whl" in the cache
  Current age based on date: 5291
  Freshness lifetime from max-age: 31557600
  The response is "fresh", returning cached response
  31557600 > 5291
  Using cached numpy-1.13.0-cp27-cp27mu-manylinux1_x86_64.whl
  Downloading from URL https://pypi.python.org/packages/dd/b5/47bd2174dbb14e5fa2dd6ad28fd1d54d38e84d29c1b131a00354ddb0cae0/numpy-1.13.0-cp27-cp27mu-manylinux1_x86_64.whl#md5=a0b187652045bfb4c014f24c921c644b (from https://pypi.python.org/simple/numpy/)
Installing collected packages: numpy

Successfully installed numpy-1.13.0
Cleaning up...

SCL Python 3.5:

...
     LOOP_BLOCKED(@type@, 64) {
         ^
    numpy/core/src/umath/simd.inc.src: In function ‘sse2_binary_scalar2_equal_DOUBLE’:
    numpy/core/src/umath/simd.inc.src:107:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i < npy_blocked_end(peel, sizeof(type), vsize, n);\
                 ^
    numpy/core/src/umath/simd.inc.src:727:5: note: in expansion of macro ‘LOOP_BLOCKED’
         LOOP_BLOCKED(@type@, 64) {
         ^
    numpy/core/src/umath/simd.inc.src: In function ‘sse2_binary_not_equal_DOUBLE’:
    numpy/core/src/umath/simd.inc.src:107:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i < npy_blocked_end(peel, sizeof(type), vsize, n);\
                 ^
    numpy/core/src/umath/simd.inc.src:675:5: note: in expansion of macro ‘LOOP_BLOCKED’
         LOOP_BLOCKED(@type@, 64) {
         ^
    numpy/core/src/umath/simd.inc.src: In function ‘sse2_binary_scalar1_not_equal_DOUBLE’:
    numpy/core/src/umath/simd.inc.src:107:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i < npy_blocked_end(peel, sizeof(type), vsize, n);\
                 ^
    numpy/core/src/umath/simd.inc.src:703:5: note: in expansion of macro ‘LOOP_BLOCKED’
         LOOP_BLOCKED(@type@, 64) {
         ^
    numpy/core/src/umath/simd.inc.src: In function ‘sse2_binary_scalar2_not_equal_DOUBLE’:
    numpy/core/src/umath/simd.inc.src:107:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i < npy_blocked_end(peel, sizeof(type), vsize, n);\
                 ^
    numpy/core/src/umath/simd.inc.src:727:5: note: in expansion of macro ‘LOOP_BLOCKED’
         LOOP_BLOCKED(@type@, 64) {
         ^
    numpy/core/src/umath/simd.inc.src: In function ‘sse2_binary_less_DOUBLE’:
    numpy/core/src/umath/simd.inc.src:107:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i < npy_blocked_end(peel, sizeof(type), vsize, n);\
                 ^
    numpy/core/src/umath/simd.inc.src:675:5: note: in expansion of macro ‘LOOP_BLOCKED’
         LOOP_BLOCKED(@type@, 64) {
         ^
    numpy/core/src/umath/simd.inc.src: In function ‘sse2_binary_scalar1_less_DOUBLE’:
    numpy/core/src/umath/simd.inc.src:107:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i < npy_blocked_end(peel, sizeof(type), vsize, n);\
                 ^
    numpy/core/src/umath/simd.inc.src:703:5: note: in expansion of macro ‘LOOP_BLOCKED’
         LOOP_BLOCKED(@type@, 64) {
         ^
    numpy/core/src/umath/simd.inc.src: In function ‘sse2_binary_scalar2_less_DOUBLE’:
    numpy/core/src/umath/simd.inc.src:107:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i < npy_blocked_end(peel, sizeof(type), vsize, n);\
                 ^
    numpy/core/src/umath/simd.inc.src:727:5: note: in expansion of macro ‘LOOP_BLOCKED’
         LOOP_BLOCKED(@type@, 64) {
         ^
    numpy/core/src/umath/simd.inc.src: In function ‘sse2_binary_less_equal_DOUBLE’:
    numpy/core/src/umath/simd.inc.src:107:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i < npy_blocked_end(peel, sizeof(type), vsize, n);\
                 ^
    numpy/core/src/umath/simd.inc.src:675:5: note: in expansion of macro ‘LOOP_BLOCKED’
         LOOP_BLOCKED(@type@, 64) {
         ^
    numpy/core/src/umath/simd.inc.src: In function ‘sse2_binary_scalar1_less_equal_DOUBLE’:
    numpy/core/src/umath/simd.inc.src:107:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i < npy_blocked_end(peel, sizeof(type), vsize, n);\
                 ^
    numpy/core/src/umath/simd.inc.src:703:5: note: in expansion of macro ‘LOOP_BLOCKED’
         LOOP_BLOCKED(@type@, 64) {
         ^
    numpy/core/src/umath/simd.inc.src: In function ‘sse2_binary_scalar2_less_equal_DOUBLE’:
    numpy/core/src/umath/simd.inc.src:107:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i < npy_blocked_end(peel, sizeof(type), vsize, n);\
                 ^
    numpy/core/src/umath/simd.inc.src:727:5: note: in expansion of macro ‘LOOP_BLOCKED’
         LOOP_BLOCKED(@type@, 64) {
         ^
    numpy/core/src/umath/simd.inc.src: In function ‘sse2_binary_greater_DOUBLE’:
    numpy/core/src/umath/simd.inc.src:107:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i < npy_blocked_end(peel, sizeof(type), vsize, n);\
                 ^
    numpy/core/src/umath/simd.inc.src:675:5: note: in expansion of macro ‘LOOP_BLOCKED’
         LOOP_BLOCKED(@type@, 64) {
         ^
    numpy/core/src/umath/simd.inc.src: In function ‘sse2_binary_scalar1_greater_DOUBLE’:
    numpy/core/src/umath/simd.inc.src:107:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i < npy_blocked_end(peel, sizeof(type), vsize, n);\
                 ^
    numpy/core/src/umath/simd.inc.src:703:5: note: in expansion of macro ‘LOOP_BLOCKED’
         LOOP_BLOCKED(@type@, 64) {
         ^
    numpy/core/src/umath/simd.inc.src: In function ‘sse2_binary_scalar2_greater_DOUBLE’:
    numpy/core/src/umath/simd.inc.src:107:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i < npy_blocked_end(peel, sizeof(type), vsize, n);\
                 ^
    numpy/core/src/umath/simd.inc.src:727:5: note: in expansion of macro ‘LOOP_BLOCKED’
         LOOP_BLOCKED(@type@, 64) {
         ^
    numpy/core/src/umath/simd.inc.src: In function ‘sse2_binary_greater_equal_DOUBLE’:
    numpy/core/src/umath/simd.inc.src:107:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i < npy_blocked_end(peel, sizeof(type), vsize, n);\
                 ^
    numpy/core/src/umath/simd.inc.src:675:5: note: in expansion of macro ‘LOOP_BLOCKED’
         LOOP_BLOCKED(@type@, 64) {
         ^
    numpy/core/src/umath/simd.inc.src: In function ‘sse2_binary_scalar1_greater_equal_DOUBLE’:
    numpy/core/src/umath/simd.inc.src:107:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i < npy_blocked_end(peel, sizeof(type), vsize, n);\
                 ^
    numpy/core/src/umath/simd.inc.src:703:5: note: in expansion of macro ‘LOOP_BLOCKED’
         LOOP_BLOCKED(@type@, 64) {
         ^
    numpy/core/src/umath/simd.inc.src: In function ‘sse2_binary_scalar2_greater_equal_DOUBLE’:
    numpy/core/src/umath/simd.inc.src:107:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i < npy_blocked_end(peel, sizeof(type), vsize, n);\
                 ^
    numpy/core/src/umath/simd.inc.src:727:5: note: in expansion of macro ‘LOOP_BLOCKED’
         LOOP_BLOCKED(@type@, 64) {
         ^
    numpy/core/src/umath/simd.inc.src: In function ‘sse2_sqrt_DOUBLE’:
    numpy/core/src/umath/simd.inc.src:107:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i < npy_blocked_end(peel, sizeof(type), vsize, n);\
                 ^
    numpy/core/src/umath/simd.inc.src:753:9: note: in expansion of macro ‘LOOP_BLOCKED’
             LOOP_BLOCKED(@type@, 16) {
             ^
    numpy/core/src/umath/simd.inc.src:107:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i < npy_blocked_end(peel, sizeof(type), vsize, n);\
                 ^
    numpy/core/src/umath/simd.inc.src:759:9: note: in expansion of macro ‘LOOP_BLOCKED’
             LOOP_BLOCKED(@type@, 16) {
             ^
    numpy/core/src/umath/simd.inc.src: In function ‘sse2_absolute_DOUBLE’:
    numpy/core/src/umath/simd.inc.src:107:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i < npy_blocked_end(peel, sizeof(type), vsize, n);\
                 ^
    numpy/core/src/umath/simd.inc.src:804:9: note: in expansion of macro ‘LOOP_BLOCKED’
             LOOP_BLOCKED(@type@, 16) {
             ^
    numpy/core/src/umath/simd.inc.src:107:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i < npy_blocked_end(peel, sizeof(type), vsize, n);\
                 ^
    numpy/core/src/umath/simd.inc.src:810:9: note: in expansion of macro ‘LOOP_BLOCKED’
             LOOP_BLOCKED(@type@, 16) {
             ^
    numpy/core/src/umath/simd.inc.src: In function ‘sse2_negative_DOUBLE’:
    numpy/core/src/umath/simd.inc.src:107:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i < npy_blocked_end(peel, sizeof(type), vsize, n);\
                 ^
    numpy/core/src/umath/simd.inc.src:804:9: note: in expansion of macro ‘LOOP_BLOCKED’
             LOOP_BLOCKED(@type@, 16) {
             ^
    numpy/core/src/umath/simd.inc.src:107:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i < npy_blocked_end(peel, sizeof(type), vsize, n);\
                 ^
    numpy/core/src/umath/simd.inc.src:810:9: note: in expansion of macro ‘LOOP_BLOCKED’
             LOOP_BLOCKED(@type@, 16) {
             ^
    In file included from numpy/core/src/umath/loops.c.src:39:0:
    numpy/core/src/umath/simd.inc.src: In function ‘sse2_maximum_DOUBLE’:
    numpy/core/src/umath/simd.inc.src:836:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         if (i + 3 * stride <= n) {
                            ^
    In file included from numpy/core/src/umath/loops.c.src:39:0:
    numpy/core/src/umath/simd.inc.src:107:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i < npy_blocked_end(peel, sizeof(type), vsize, n);\
                 ^
    numpy/core/src/umath/simd.inc.src:844:9: note: in expansion of macro ‘LOOP_BLOCKED’
             LOOP_BLOCKED(@type@, 32) {
             ^
    In file included from numpy/core/src/umath/loops.c.src:39:0:
    numpy/core/src/umath/simd.inc.src: In function ‘sse2_minimum_DOUBLE’:
    numpy/core/src/umath/simd.inc.src:836:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         if (i + 3 * stride <= n) {
                            ^
    In file included from numpy/core/src/umath/loops.c.src:39:0:
    numpy/core/src/umath/simd.inc.src:107:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i < npy_blocked_end(peel, sizeof(type), vsize, n);\
                 ^
    numpy/core/src/umath/simd.inc.src:844:9: note: in expansion of macro ‘LOOP_BLOCKED’
             LOOP_BLOCKED(@type@, 32) {
             ^
    numpy/core/src/umath/simd.inc.src: In function ‘sse2_binary_logical_or_BOOL’:
    numpy/core/src/umath/simd.inc.src:107:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i < npy_blocked_end(peel, sizeof(type), vsize, n);\
                 ^
    numpy/core/src/umath/simd.inc.src:910:5: note: in expansion of macro ‘LOOP_BLOCKED’
         LOOP_BLOCKED(@type@, 16) {
         ^
    numpy/core/src/umath/simd.inc.src: In function ‘sse2_reduce_logical_or_BOOL’:
    numpy/core/src/umath/simd.inc.src:107:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i < npy_blocked_end(peel, sizeof(type), vsize, n);\
                 ^
    numpy/core/src/umath/simd.inc.src:942:5: note: in expansion of macro ‘LOOP_BLOCKED’
         LOOP_BLOCKED(npy_bool, 32) {
         ^
    numpy/core/src/umath/simd.inc.src: In function ‘sse2_binary_logical_and_BOOL’:
    numpy/core/src/umath/simd.inc.src:107:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i < npy_blocked_end(peel, sizeof(type), vsize, n);\
                 ^
    numpy/core/src/umath/simd.inc.src:910:5: note: in expansion of macro ‘LOOP_BLOCKED’
         LOOP_BLOCKED(@type@, 16) {
         ^
    numpy/core/src/umath/simd.inc.src: In function ‘sse2_reduce_logical_and_BOOL’:
    numpy/core/src/umath/simd.inc.src:107:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i < npy_blocked_end(peel, sizeof(type), vsize, n);\
                 ^
    numpy/core/src/umath/simd.inc.src:942:5: note: in expansion of macro ‘LOOP_BLOCKED’
         LOOP_BLOCKED(npy_bool, 32) {
         ^
    numpy/core/src/umath/simd.inc.src: In function ‘sse2_absolute_BOOL’:
    numpy/core/src/umath/simd.inc.src:107:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i < npy_blocked_end(peel, sizeof(type), vsize, n);\
                 ^
    numpy/core/src/umath/simd.inc.src:984:5: note: in expansion of macro ‘LOOP_BLOCKED’
         LOOP_BLOCKED(@type@, 16) {
         ^
    numpy/core/src/umath/simd.inc.src: In function ‘sse2_logical_not_BOOL’:
    numpy/core/src/umath/simd.inc.src:107:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(; i < npy_blocked_end(peel, sizeof(type), vsize, n);\
                 ^
    numpy/core/src/umath/simd.inc.src:984:5: note: in expansion of macro ‘LOOP_BLOCKED’
         LOOP_BLOCKED(@type@, 16) {
         ^
    numpy/core/src/umath/loops.c.src: In function ‘pairwise_sum_FLOAT’:
    numpy/core/src/umath/loops.c.src:1635:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for (i = 0; i < n; i++) {
                           ^
    numpy/core/src/umath/loops.c.src:1658:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for (i = 8; i < n - (n % 8); i += 8) {
                           ^
    numpy/core/src/umath/loops.c.src:1676:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for (; i < n; i++) {
                      ^
    numpy/core/src/umath/loops.c.src: In function ‘pairwise_sum_DOUBLE’:
    numpy/core/src/umath/loops.c.src:1635:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for (i = 0; i < n; i++) {
                           ^
    numpy/core/src/umath/loops.c.src:1658:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for (i = 8; i < n - (n % 8); i += 8) {
                           ^
    numpy/core/src/umath/loops.c.src:1676:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for (; i < n; i++) {
                      ^
    numpy/core/src/umath/loops.c.src: In function ‘pairwise_sum_LONGDOUBLE’:
    numpy/core/src/umath/loops.c.src:1635:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for (i = 0; i < n; i++) {
                           ^
    numpy/core/src/umath/loops.c.src:1658:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for (i = 8; i < n - (n % 8); i += 8) {
                           ^
    numpy/core/src/umath/loops.c.src:1676:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for (; i < n; i++) {
                      ^
    numpy/core/src/umath/loops.c.src: In function ‘pairwise_sum_HALF’:
    numpy/core/src/umath/loops.c.src:1635:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for (i = 0; i < n; i++) {
                           ^
    numpy/core/src/umath/loops.c.src:1658:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for (i = 8; i < n - (n % 8); i += 8) {
                           ^
    numpy/core/src/umath/loops.c.src:1676:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for (; i < n; i++) {
                      ^
    numpy/core/src/umath/loops.c.src: In function ‘pairwise_sum_CFLOAT’:
    numpy/core/src/umath/loops.c.src:2410:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for (i = 0; i < n; i += 2) {
                           ^
    numpy/core/src/umath/loops.c.src:2434:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for (i = 8; i < n - (n % 8); i += 8) {
                           ^
    numpy/core/src/umath/loops.c.src:2452:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for (; i < n; i+=2) {
                      ^
    numpy/core/src/umath/loops.c.src: In function ‘pairwise_sum_CDOUBLE’:
    numpy/core/src/umath/loops.c.src:2410:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for (i = 0; i < n; i += 2) {
                           ^
    numpy/core/src/umath/loops.c.src:2434:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for (i = 8; i < n - (n % 8); i += 8) {
                           ^
    numpy/core/src/umath/loops.c.src:2452:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for (; i < n; i+=2) {
                      ^
    numpy/core/src/umath/loops.c.src: In function ‘pairwise_sum_CLONGDOUBLE’:
    numpy/core/src/umath/loops.c.src:2410:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for (i = 0; i < n; i += 2) {
                           ^
    numpy/core/src/umath/loops.c.src:2434:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for (i = 8; i < n - (n % 8); i += 8) {
                           ^
    numpy/core/src/umath/loops.c.src:2452:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for (; i < n; i+=2) {
                      ^
    gcc: numpy/core/src/umath/umathmodule.c
    gcc: numpy/core/src/umath/reduction.c
    gcc: numpy/core/src/private/mem_overlap.c
    numpy/core/src/private/mem_overlap.c: In function ‘diophantine_dfs’:
    numpy/core/src/private/mem_overlap.c:420:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                     for (j = 0; j < n; ++j) {
                                   ^
    numpy/core/src/private/mem_overlap.c: In function ‘strides_to_terms’:
    numpy/core/src/private/mem_overlap.c:715:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for (i = 0; i < PyArray_NDIM(arr); ++i) {
                       ^
    numpy/core/src/private/mem_overlap.c: In function ‘solve_may_share_memory’:
    numpy/core/src/private/mem_overlap.c:801:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         if (rhs != (npy_uintp)rhs) {
                 ^
    numpy/core/src/private/mem_overlap.c: In function ‘solve_may_have_internal_overlap’:
    numpy/core/src/private/mem_overlap.c:890:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for (j = 0; j < nterms; ++j) {
                       ^
    numpy/core/src/private/mem_overlap.c:908:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for (j = 0; j < nterms; ++j) {
                       ^
    gcc: numpy/core/src/umath/ufunc_type_resolution.c
    gcc: numpy/core/src/umath/ufunc_object.c
    numpy/core/src/umath/ufunc_object.c: In function ‘PyUFunc_GenericReduction’:
    numpy/core/src/umath/ufunc_object.c:3897:15: warning: unused variable ‘out_obj’ [-Wunused-variable]
         PyObject *out_obj = NULL;
                   ^
    gcc: numpy/core/src/private/ufunc_override.c
    gcc -pthread -shared -L/opt/rh/rh-python35/root/usr/lib64-Wl,-z,relro build/temp.linux-x86_64-3.5/numpy/core/src/umath/umathmodule.o build/temp.linux-x86_64-3.5/numpy/core/src/umath/reduction.o build/temp.linux-x86_64-3.5/build/src.linux-x86_64-3.5/numpy/core/src/umath/loops.o build/temp.linux-x86_64-3.5/numpy/core/src/umath/ufunc_object.o build/temp.linux-x86_64-3.5/build/src.linux-x86_64-3.5/numpy/core/src/umath/scalarmath.o build/temp.linux-x86_64-3.5/numpy/core/src/umath/ufunc_type_resolution.o build/temp.linux-x86_64-3.5/numpy/core/src/umath/override.o build/temp.linux-x86_64-3.5/numpy/core/src/private/mem_overlap.o build/temp.linux-x86_64-3.5/numpy/core/src/private/ufunc_override.o -L/opt/rh/rh-python35/root/usr/lib64 -Lbuild/temp.linux-x86_64-3.5 -lnpymath -lm -lpython3.5m -o build/lib.linux-x86_64-3.5/numpy/core/umath.cpython-35m-x86_64-linux-gnu.so
    building 'numpy.core.umath_tests' extension
    compiling C sources
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -I/opt/rh/rh-python35/root/usr/include -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC

    compile options: '-DNPY_INTERNAL_BUILD=1 -DHAVE_NPY_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -Inumpy/core/include -Ibuild/src.linux-x86_64-3.5/numpy/core/include/numpy -Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/opt/rh/rh-python35/root/usr/include/python3.5m -Ibuild/src.linux-x86_64-3.5/numpy/core/src/private -Ibuild/src.linux-x86_64-3.5/numpy/core/src/npymath -Ibuild/src.linux-x86_64-3.5/numpy/core/src/private -Ibuild/src.linux-x86_64-3.5/numpy/core/src/npymath -Ibuild/src.linux-x86_64-3.5/numpy/core/src/private -Ibuild/src.linux-x86_64-3.5/numpy/core/src/npymath -c'
    gcc: build/src.linux-x86_64-3.5/numpy/core/src/umath/umath_tests.c
    gcc -pthread -shared -L/opt/rh/rh-python35/root/usr/lib64-Wl,-z,relro build/temp.linux-x86_64-3.5/build/src.linux-x86_64-3.5/numpy/core/src/umath/umath_tests.o -L/opt/rh/rh-python35/root/usr/lib64 -Lbuild/temp.linux-x86_64-3.5 -lpython3.5m -o build/lib.linux-x86_64-3.5/numpy/core/umath_tests.cpython-35m-x86_64-linux-gnu.so
    building 'numpy.core.test_rational' extension
    compiling C sources
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -I/opt/rh/rh-python35/root/usr/include -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC

    compile options: '-DNPY_INTERNAL_BUILD=1 -DHAVE_NPY_CONFIG_H=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -Inumpy/core/include -Ibuild/src.linux-x86_64-3.5/numpy/core/include/numpy -Inumpy/core/src/private -Inumpy/core/src -Inumpy/core -Inumpy/core/src/npymath -Inumpy/core/src/multiarray -Inumpy/core/src/umath -Inumpy/core/src/npysort -I/opt/rh/rh-python35/root/usr/include/python3.5m -Ibuild/src.linux-x86_64-3.5/numpy/core/src/private -Ibuild/src.linux-x86_64-3.5/numpy/core/src/npymath -Ibuild/src.linux-x86_64-3.5/numpy/core/src/private -Ibuild/src.linux-x86_64-3.5/numpy/core/src/npymath -Ibuild/src.linux-x86_64-3.5/numpy/core/src/private -Ibuild/src.linux-x86_64-3.5/numpy/core/src/npymath -c'
    gcc: build/src.linux-x86_64-3.5/numpy/core/src/umath/test_rational.c
    gcc -pthread -shared -L/opt/rh/rh-python35/root/usr/lib64-Wl,-z,relro build/temp.linux-x86_64-3.5/build/src.linux-x86_64-3.5/numpy/core/src/umath/test_rational.o -L/opt/rh/rh-python35/root/usr/lib64 -Lbuild/temp.linux-x86_64-3.5 -lpython3.5m -o build/lib.linux-x86_64-3.5/numpy/core/test_rational.cpython-35m-x86_64-linux-gnu.so
    building 'numpy.core.struct_ufunc_test' extension
    compiling C sources
    C compiler: gcc -pthread -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -I/opt/rh/rh-python35/root/usr/include -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -fPIC
...
      Removing source in /tmp/pip-build-12s9oqxb/numpy
    Successfully installed numpy-1.13.0
    Cleaning up...

I have noticed the same behaviour but it appears to be resolved by upgrading pip.

By default rh-python35 appears to ship with pip 7.1.0 and pip warns that 9.0.1 is available. Upgrading to this appears to resolve the issue with numpy (and other packages with similar issues), which now installs quickly and with a similar log signature to that from Python 2.7:

[confuser@es-node-0 ~]$ python -m venv myenv
[confuser@es-node-0 ~]$ source myvenv/bin/activate
(myvenv) [confuser@es-node-0 ~]$ pip --version
pip 7.1.0 from /home/confuser/virtso/lib64/python3.5/site-packages (python 3.5)
(myvenv) [confuser@es-node-0 ~]$ pip install --upgrade pip
You are using pip version 7.1.0, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
Collecting pip
  Using cached pip-9.0.1-py2.py3-none-any.whl
Installing collected packages: pip
  Found existing installation: pip 7.1.0
Uninstalling pip-7.1.0:
  Successfully uninstalled pip-7.1.0
Successfully installed pip-9.0.1
(myvenv) [confuser@es-node-0 ~]$ time pip install numpy -v
Collecting numpy
  Using cached numpy-1.13.0-cp35-cp35m-manylinux1_x86_64.whl
Installing collected packages: numpy

.....

Skipping link https://pypi.python.org/packages/ff/9e/54a8f4abbe80db332b4574e67fec52f3018d5f246077c8348bcc9ec79e3e/numpy-1.12.0rc2-cp35-none-win32.whl#md5=320ba3c9eb8c9c83527d12362cb3dced (from https://pypi.python.org/simple/numpy/); it is not compatible with this Python
  Using version 1.13.0 (newest of versions: 1.3.0, 1.4.1, 1.5.0, 1.5.1, 1.6.0, 1.6.1, 1.6.2, 1.7.0, 1.7.1, 1.7.2, 1.8.0, 1.8.1, 1.8.2, 1.9.0, 1.9.1, 1.9.2, 1.9.3, 1.10.0, 1.10.0.post2, 1.10.1, 1.10.2, 1.10.3, 1.10.4, 1.11.0, 1.11.1, 1.11.2, 1.11.3, 1.12.0, 1.12.1, 1.13.0)
  Looking up "https://pypi.python.org/packages/f0/b9/50edeee58c1bed8db12c636f890547e5de33c12ffc4214cf5531c34ba0b1/numpy-1.13.0-cp35-cp35m-manylinux1_x86_64.whl" in the cache
  Current age based on date: 723
  Freshness lifetime from max-age: 31557600
  The response is "fresh", returning cached response
  31557600 > 723
  Using cached numpy-1.13.0-cp35-cp35m-manylinux1_x86_64.whl
  Downloading from URL https://pypi.python.org/packages/f0/b9/50edeee58c1bed8db12c636f890547e5de33c12ffc4214cf5531c34ba0b1/numpy-1.13.0-cp35-cp35m-manylinux1_x86_64.whl#md5=d6e6af5f3f5b5711501045b63e8281f4 (from https://pypi.python.org/simple/numpy/) (requires-python:>=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*)
Installing collected packages: numpy

Successfully installed numpy-1.13.0
Cleaning up...

real    0m2.817s
user    0m2.286s
sys 0m0.384s
(myvenv) [confuser@es-node-0 ~]$

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM