From e0e48ae52c42fd64b59baf0f1e9ee9c378f69010 Mon Sep 17 00:00:00 2001 From: Tim Schoof <tim.schoof@desy.de> Date: Wed, 7 Oct 2020 18:02:56 +0200 Subject: [PATCH] Use specific numpy version per python version The numpy version is chosen based on the numpy version provided by debian and centos for python < 3.7 and the version used by scipy wheels for all other python version. Additionally, the producer and the consumer now have the same setup and install dependencies on cython. --- consumer/api/python/dev-requirements.txt | 2 -- consumer/api/python/dev-requirements.txt.in | 2 ++ .../api/python/source_dist_linux/setup.py.in | 4 ++-- deploy/build_env/manylinux2010/build.sh | 18 +++++++++++++++--- producer/api/python/dev-requirements.txt | 2 -- producer/api/python/dev-requirements.txt.in | 2 ++ .../api/python/source_dist_linux/setup.py.in | 4 ++-- 7 files changed, 23 insertions(+), 11 deletions(-) delete mode 100644 consumer/api/python/dev-requirements.txt create mode 100644 consumer/api/python/dev-requirements.txt.in delete mode 100644 producer/api/python/dev-requirements.txt create mode 100644 producer/api/python/dev-requirements.txt.in diff --git a/consumer/api/python/dev-requirements.txt b/consumer/api/python/dev-requirements.txt deleted file mode 100644 index 6e5e5e427..000000000 --- a/consumer/api/python/dev-requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -cython -numpy==1.14.6 \ No newline at end of file diff --git a/consumer/api/python/dev-requirements.txt.in b/consumer/api/python/dev-requirements.txt.in new file mode 100644 index 000000000..4e11c0346 --- /dev/null +++ b/consumer/api/python/dev-requirements.txt.in @@ -0,0 +1,2 @@ +cython +numpy==@NUMPY_VERSION@ \ No newline at end of file diff --git a/consumer/api/python/source_dist_linux/setup.py.in b/consumer/api/python/source_dist_linux/setup.py.in index 5da1c0dfd..2fcefc2e0 100644 --- a/consumer/api/python/source_dist_linux/setup.py.in +++ b/consumer/api/python/source_dist_linux/setup.py.in @@ -16,6 +16,6 @@ setup( name ="asapo_consumer", ext_modules = ext_modules, version = "@PYTHON_ASAPO_VERSION@", - setup_requires=["numpy"], - install_requires=["numpy"] + setup_requires=["numpy>=@NUMPY_VERSION@", "cython>=0.28"], + install_requires=["numpy>=@NUMPY_VERSION@"] ) diff --git a/deploy/build_env/manylinux2010/build.sh b/deploy/build_env/manylinux2010/build.sh index 4ac46715e..01d1684aa 100755 --- a/deploy/build_env/manylinux2010/build.sh +++ b/deploy/build_env/manylinux2010/build.sh @@ -1,18 +1,30 @@ #!/usr/bin/env bash set -e +declare -A numpy_versions +numpy_versions[cp27mu]=1.12.1 +numpy_versions[cp27m]=1.12.1 +numpy_versions[cp35m]=1.12.1 +numpy_versions[cp36m]=1.12.1 +numpy_versions[cp37m]=1.14.5 +numpy_versions[cp38]=1.17.3 + for python_path in /opt/python/cp{27,35,36,37}*m; do + python_version=$(basename $python_path) + python_version=${python_version#*-} python=$python_path/bin/python pip=$python_path/bin/pip + numpy_version=${numpy_versions[$python_version]} + echo "building wheel for python_version=$python_version with numpy_version=$numpy_version" cd /asapo/build - cmake -DENABLE_LIBFABRIC=off -DCMAKE_BUILD_TYPE="Release" -DLIBCURL_DIR=/curl -DPython_EXECUTABLE=$python .. + cmake -DENABLE_LIBFABRIC=off -DCMAKE_BUILD_TYPE="Release" -DLIBCURL_DIR=/curl -DPython_EXECUTABLE=$python -DNUMPY_VERSION=$numpy_version .. cd consumer \ - && $pip install -r /asapo/consumer/api/python/dev-requirements.txt \ + && $pip install -r api/python/dev-requirements.txt\ && make \ && $pip wheel api/python/source_dist_linux/dist/*.tar.gz -w wheelhouse --no-deps cd ../producer \ - && $pip install -r /asapo/producer/api/python/dev-requirements.txt \ + && $pip install -r api/python/dev-requirements.txt \ && make \ && $pip wheel api/python/source_dist_linux/dist/*.tar.gz -w wheelhouse --no-deps done diff --git a/producer/api/python/dev-requirements.txt b/producer/api/python/dev-requirements.txt deleted file mode 100644 index 6e5e5e427..000000000 --- a/producer/api/python/dev-requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -cython -numpy==1.14.6 \ No newline at end of file diff --git a/producer/api/python/dev-requirements.txt.in b/producer/api/python/dev-requirements.txt.in new file mode 100644 index 000000000..4e11c0346 --- /dev/null +++ b/producer/api/python/dev-requirements.txt.in @@ -0,0 +1,2 @@ +cython +numpy==@NUMPY_VERSION@ \ No newline at end of file diff --git a/producer/api/python/source_dist_linux/setup.py.in b/producer/api/python/source_dist_linux/setup.py.in index b7b2f6681..10cec57a0 100644 --- a/producer/api/python/source_dist_linux/setup.py.in +++ b/producer/api/python/source_dist_linux/setup.py.in @@ -15,6 +15,6 @@ setup( name ="asapo_producer", ext_modules = ext_modules, version = "@PYTHON_ASAPO_VERSION@", - setup_requires=["numpy","cython>=0.28"], - install_requires=["numpy","cython>=0.28"] + setup_requires=["numpy>=@NUMPY_VERSION@", "cython>=0.28"], + install_requires=["numpy>=@NUMPY_VERSION@"] ) -- GitLab