From b81e09468078745da7beee21bad329f50e4c1e3d Mon Sep 17 00:00:00 2001 From: Brock Mendel Date: Sat, 4 Nov 2017 12:48:18 -0700 Subject: [PATCH 1/4] explicitly set include to numpy_incls --- pandas/_libs/reshape.pyx | 2 +- pandas/_libs/sparse.pyx | 2 +- setup.py | 24 ++++++++++++++++++------ 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/pandas/_libs/reshape.pyx b/pandas/_libs/reshape.pyx index db2e8b43d1ead..c4104b66e009f 100644 --- a/pandas/_libs/reshape.pyx +++ b/pandas/_libs/reshape.pyx @@ -10,7 +10,7 @@ np.import_array() from numpy cimport (ndarray, int8_t, int16_t, int32_t, int64_t, uint8_t, uint16_t, - uint32_t, uint64_t, float16_t, float32_t, float64_t) + uint32_t, uint64_t, float32_t, float64_t) cdef double NaN = np.NaN cdef double nan = NaN diff --git a/pandas/_libs/sparse.pyx b/pandas/_libs/sparse.pyx index 5484cbda5bdf9..bbdd5f0d8334c 100644 --- a/pandas/_libs/sparse.pyx +++ b/pandas/_libs/sparse.pyx @@ -1,5 +1,5 @@ from numpy cimport (ndarray, uint8_t, int64_t, int32_t, int16_t, int8_t, - float64_t, float32_t, float16_t) + float64_t, float32_t) cimport numpy as np cimport cython diff --git a/setup.py b/setup.py index 684f32d1e7898..2493921f07e63 100755 --- a/setup.py +++ b/setup.py @@ -460,6 +460,13 @@ def pxd(name): return os.path.abspath(pjoin('pandas', name + '.pxd')) +if _have_setuptools: + # Note: this is a list, whereas `numpy_incl` in build_ext.build_extensions + # is a string + numpy_incls = pkg_resources.resource_filename('numpy', 'core/include') +else: + numpy_incls = [] + # args to ignore warnings if is_platform_windows(): extra_compile_args = [] @@ -501,7 +508,8 @@ def pxd(name): 'depends': _pxi_dep['index'], 'sources': np_datetime_sources}, '_libs.indexing': { - 'pyxfile': '_libs/indexing'}, + 'pyxfile': '_libs/indexing', + 'include': []}, '_libs.interval': { 'pyxfile': '_libs/interval', 'pxdfiles': ['_libs/hashtable'], @@ -529,10 +537,12 @@ def pxd(name): 'include': []}, '_libs.reshape': { 'pyxfile': '_libs/reshape', - 'depends': _pxi_dep['reshape']}, + 'depends': _pxi_dep['reshape'], + 'include': numpy_incls}, '_libs.sparse': { 'pyxfile': '_libs/sparse', - 'depends': _pxi_dep['sparse']}, + 'depends': _pxi_dep['sparse'], + 'include': numpy_incls}, '_libs.tslib': { 'pyxfile': '_libs/tslib', 'pxdfiles': ['_libs/src/util'], @@ -560,7 +570,7 @@ def pxd(name): 'pyxfile': '_libs/tslibs/offsets'}, '_libs.tslibs.parsing': { 'pyxfile': '_libs/tslibs/parsing', - 'pxdfiles': ['_libs/src/util']}, + 'include': numpy_incls}, '_libs.tslibs.strptime': { 'pyxfile': '_libs/tslibs/strptime', 'depends': tseries_depends, @@ -570,14 +580,16 @@ def pxd(name): '_libs.tslibs.timezones': { 'pyxfile': '_libs/tslibs/timezones'}, '_libs.testing': { - 'pyxfile': '_libs/testing'}, + 'pyxfile': '_libs/testing', + 'include': []}, '_libs.window': { 'pyxfile': '_libs/window', 'pxdfiles': ['_libs/src/skiplist', '_libs/src/util'], 'depends': ['pandas/_libs/src/skiplist.pyx', 'pandas/_libs/src/skiplist.h']}, 'io.sas._sas': { - 'pyxfile': 'io/sas/sas'}} + 'pyxfile': 'io/sas/sas', + 'include': numpy_incls}} extensions = [] From e944e7ca7cce22d85498800d88f297f33fb86db3 Mon Sep 17 00:00:00 2001 From: Brock Mendel Date: Sat, 4 Nov 2017 15:28:41 -0700 Subject: [PATCH 2/4] type fixup --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 2493921f07e63..bc6449abdd08f 100755 --- a/setup.py +++ b/setup.py @@ -463,7 +463,7 @@ def pxd(name): if _have_setuptools: # Note: this is a list, whereas `numpy_incl` in build_ext.build_extensions # is a string - numpy_incls = pkg_resources.resource_filename('numpy', 'core/include') + numpy_incls = [pkg_resources.resource_filename('numpy', 'core/include')] else: numpy_incls = [] From 37ad0f2adf588da2710cf7db3d4a1a3b50c8c748 Mon Sep 17 00:00:00 2001 From: Brock Mendel Date: Sat, 4 Nov 2017 18:29:14 -0700 Subject: [PATCH 3/4] fixup whitespace --- setup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index bc6449abdd08f..cafc5eaea9b15 100755 --- a/setup.py +++ b/setup.py @@ -462,7 +462,7 @@ def pxd(name): if _have_setuptools: # Note: this is a list, whereas `numpy_incl` in build_ext.build_extensions - # is a string + # is a string numpy_incls = [pkg_resources.resource_filename('numpy', 'core/include')] else: numpy_incls = [] @@ -588,7 +588,7 @@ def pxd(name): 'depends': ['pandas/_libs/src/skiplist.pyx', 'pandas/_libs/src/skiplist.h']}, 'io.sas._sas': { - 'pyxfile': 'io/sas/sas', + 'pyxfile': 'io/sas/sas', 'include': numpy_incls}} extensions = [] From c7ffb02ca9f1862ce1bd698c14bc4ff03a34f56e Mon Sep 17 00:00:00 2001 From: Brock Mendel Date: Sun, 12 Nov 2017 08:45:02 -0800 Subject: [PATCH 4/4] revert controversial changes --- setup.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/setup.py b/setup.py index 1042b61962c22..88f19b300a603 100755 --- a/setup.py +++ b/setup.py @@ -506,7 +506,8 @@ def pxd(name): '_libs.index': { 'pyxfile': '_libs/index', 'pxdfiles': ['_libs/src/util', '_libs/hashtable'], - 'depends': _pxi_dep['index']}, + 'depends': _pxi_dep['index'], + 'sources': np_datetime_sources}, '_libs.indexing': { 'pyxfile': '_libs/indexing', 'include': []}, @@ -591,8 +592,9 @@ def pxd(name): '_libs.tslibs.strptime': { 'pyxfile': '_libs/tslibs/strptime', 'pxdfiles': ['_libs/src/util', - '_libs/tslibs/nattype', - '_libs/tslibs/np_datetime']}, + '_libs/tslibs/nattype'], + 'depends': tseries_depends, + 'sources': np_datetime_sources}, '_libs.tslibs.timedeltas': { 'pyxfile': '_libs/tslibs/timedeltas', 'pxdfiles': ['_libs/src/util',