[ https://issues.apache.org/jira/browse/ARROW-2143?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16369379#comment-16369379 ]
ASF GitHub Bot commented on ARROW-2143: --------------------------------------- wesm closed pull request #1603: ARROW-2143: [Python] Provide a manylinux1 wheel for cp27m URL: https://github.com/apache/arrow/pull/1603 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/python/manylinux1/Dockerfile-x86_64 b/python/manylinux1/Dockerfile-x86_64 index 919a32be7..ec520338f 100644 --- a/python/manylinux1/Dockerfile-x86_64 +++ b/python/manylinux1/Dockerfile-x86_64 @@ -14,7 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -FROM quay.io/xhochy/arrow_manylinux1_x86_64_base:latest +FROM quay.io/xhochy/arrow_manylinux1_x86_64_base:ARROW-2143 ADD arrow /arrow WORKDIR /arrow/cpp diff --git a/python/manylinux1/build_arrow.sh b/python/manylinux1/build_arrow.sh index 6bed451d2..5fd27c8d0 100755 --- a/python/manylinux1/build_arrow.sh +++ b/python/manylinux1/build_arrow.sh @@ -25,10 +25,8 @@ # Build upon the scripts in https://github.com/matthew-brett/manylinux-builds # * Copyright (c) 2013-2016, Matt Terry and Matthew Brett (BSD 2-clause) -PYTHON_VERSIONS="${PYTHON_VERSIONS:-2.7 3.4 3.5 3.6}" - -# Package index with only manylinux1 builds -MANYLINUX_URL=https://nipy.bic.berkeley.edu/manylinux +# Build different python versions with various unicode widths +PYTHON_VERSIONS="${PYTHON_VERSIONS:-2.7,16 2.7,32 3.4,16 3.5,16 3.6,16}" source /multibuild/manylinux_utils.sh @@ -48,40 +46,44 @@ export PYARROW_CMAKE_OPTIONS='-DTHRIFT_HOME=/usr' # Ensure the target directory exists mkdir -p /io/dist -for PYTHON in ${PYTHON_VERSIONS}; do - PYTHON_INTERPRETER="$(cpython_path $PYTHON)/bin/python" - PIP="$(cpython_path $PYTHON)/bin/pip" - PIPI_IO="$PIP install -f $MANYLINUX_URL" - PATH="$PATH:$(cpython_path $PYTHON)" +for PYTHON_TUPLE in ${PYTHON_VERSIONS}; do + IFS="," + set -- $PYTHON_TUPLE; + PYTHON=$1 + U_WIDTH=$2 + CPYTHON_PATH="$(cpython_path $PYTHON ${U_WIDTH})" + PYTHON_INTERPRETER="${CPYTHON_PATH}/bin/python" + PIP="${CPYTHON_PATH}/bin/pip" + PATH="$PATH:${CPYTHON_PATH}" echo "=== (${PYTHON}) Building Arrow C++ libraries ===" - ARROW_BUILD_DIR=/arrow/cpp/build-PY${PYTHON} + ARROW_BUILD_DIR=/arrow/cpp/build-PY${PYTHON}-${U_WIDTH} mkdir -p "${ARROW_BUILD_DIR}" pushd "${ARROW_BUILD_DIR}" - PATH="$(cpython_path $PYTHON)/bin:$PATH" cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/arrow-dist -DARROW_BUILD_TESTS=OFF -DARROW_BUILD_SHARED=ON -DARROW_BOOST_USE_SHARED=OFF -DARROW_JEMALLOC=off -DARROW_RPATH_ORIGIN=ON -DARROW_JEMALLOC_USE_SHARED=OFF -DARROW_PYTHON=ON -DPythonInterp_FIND_VERSION=${PYTHON} -DARROW_PLASMA=ON -DARROW_ORC=ON .. + PATH="${CPYTHON_PATH}/bin:$PATH" cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/arrow-dist -DARROW_BUILD_TESTS=OFF -DARROW_BUILD_SHARED=ON -DARROW_BOOST_USE_SHARED=OFF -DARROW_JEMALLOC=off -DARROW_RPATH_ORIGIN=ON -DARROW_JEMALLOC_USE_SHARED=OFF -DARROW_PYTHON=ON -DPythonInterp_FIND_VERSION=${PYTHON} -DARROW_PLASMA=ON -DARROW_ORC=ON .. make -j5 install popd # Clear output directory rm -rf dist/ echo "=== (${PYTHON}) Building wheel ===" - PATH="$PATH:$(cpython_path $PYTHON)/bin" $PYTHON_INTERPRETER setup.py build_ext --inplace --with-parquet --with-static-parquet --bundle-arrow-cpp - PATH="$PATH:$(cpython_path $PYTHON)/bin" $PYTHON_INTERPRETER setup.py bdist_wheel + PATH="$PATH:${CPYTHON_PATH}/bin" $PYTHON_INTERPRETER setup.py build_ext --inplace --with-parquet --with-static-parquet --bundle-arrow-cpp + PATH="$PATH:${CPYTHON_PATH}/bin" $PYTHON_INTERPRETER setup.py bdist_wheel echo "=== (${PYTHON}) Test the existence of optional modules ===" - $PIPI_IO -r requirements.txt - PATH="$PATH:$(cpython_path $PYTHON)/bin" $PYTHON_INTERPRETER -c "import pyarrow.parquet" - PATH="$PATH:$(cpython_path $PYTHON)/bin" $PYTHON_INTERPRETER -c "import pyarrow.plasma" + $PIP install -r requirements.txt + PATH="$PATH:${CPYTHON_PATH}/bin" $PYTHON_INTERPRETER -c "import pyarrow.parquet" + PATH="$PATH:${CPYTHON_PATH}/bin" $PYTHON_INTERPRETER -c "import pyarrow.plasma" echo "=== (${PYTHON}) Tag the wheel with manylinux1 ===" mkdir -p repaired_wheels/ auditwheel -v repair -L . dist/pyarrow-*.whl -w repaired_wheels/ echo "=== (${PYTHON}) Testing manylinux1 wheel ===" - source /venv-test-${PYTHON}/bin/activate + source /venv-test-${PYTHON}-${U_WIDTH}/bin/activate pip install repaired_wheels/*.whl - py.test -v -r sxX --durations=15 --parquet /venv-test-${PYTHON}/lib/*/site-packages/pyarrow + py.test -v -r sxX --durations=15 --parquet /venv-test-${PYTHON}-${U_WIDTH}/lib/*/site-packages/pyarrow deactivate mv repaired_wheels/*.whl /io/dist diff --git a/python/manylinux1/scripts/build_virtualenvs.sh b/python/manylinux1/scripts/build_virtualenvs.sh index b54861126..220c26003 100755 --- a/python/manylinux1/scripts/build_virtualenvs.sh +++ b/python/manylinux1/scripts/build_virtualenvs.sh @@ -19,28 +19,28 @@ # Build upon the scripts in https://github.com/matthew-brett/manylinux-builds # * Copyright (c) 2013-2016, Matt Terry and Matthew Brett (BSD 2-clause) -PYTHON_VERSIONS="${PYTHON_VERSIONS:-2.7 3.4 3.5 3.6}" - -# Package index with only manylinux1 builds -MANYLINUX_URL=https://nipy.bic.berkeley.edu/manylinux +PYTHON_VERSIONS="${PYTHON_VERSIONS:-2.7,16 2.7,32 3.4,16 3.5,16 3.6,16}" source /multibuild/manylinux_utils.sh -for PYTHON in ${PYTHON_VERSIONS}; do - PYTHON_INTERPRETER="$(cpython_path $PYTHON)/bin/python" - PIP="$(cpython_path $PYTHON)/bin/pip" - PIPI_IO="$PIP install -f $MANYLINUX_URL" - PATH="$PATH:$(cpython_path $PYTHON)" - - echo "=== (${PYTHON}) Installing build dependencies ===" - $PIPI_IO "numpy==1.10.4" - $PIPI_IO "cython==0.25.2" - $PIPI_IO "pandas==0.20.3" - $PIPI_IO "virtualenv==15.1.0" - - echo "=== (${PYTHON}) Preparing virtualenv for tests ===" - "$(cpython_path $PYTHON)/bin/virtualenv" -p ${PYTHON_INTERPRETER} --no-download /venv-test-${PYTHON} - source /venv-test-${PYTHON}/bin/activate +for PYTHON_TUPLE in ${PYTHON_VERSIONS}; do + IFS="," + set -- $PYTHON_TUPLE; + PYTHON=$1 + U_WIDTH=$2 + PYTHON_INTERPRETER="$(cpython_path $PYTHON ${U_WIDTH})/bin/python" + PIP="$(cpython_path $PYTHON ${U_WIDTH})/bin/pip" + PATH="$PATH:$(cpython_path $PYTHON ${U_WIDTH})" + + echo "=== (${PYTHON}, ${U_WIDTH}) Installing build dependencies ===" + $PIP install "numpy==1.10.4" + $PIP install "cython==0.25.2" + $PIP install "pandas==0.20.3" + $PIP install "virtualenv==15.1.0" + + echo "=== (${PYTHON}, ${U_WIDTH}) Preparing virtualenv for tests ===" + "$(cpython_path $PYTHON ${U_WIDTH})/bin/virtualenv" -p ${PYTHON_INTERPRETER} --no-download /venv-test-${PYTHON}-${U_WIDTH} + source /venv-test-${PYTHON}-${U_WIDTH}/bin/activate pip install pytest 'numpy==1.14.0' 'pandas==0.20.3' deactivate done ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > [Python] Provide a manylinux1 wheel for cp27m > --------------------------------------------- > > Key: ARROW-2143 > URL: https://issues.apache.org/jira/browse/ARROW-2143 > Project: Apache Arrow > Issue Type: Improvement > Reporter: Uwe L. Korn > Assignee: Uwe L. Korn > Priority: Major > Labels: pull-request-available > Fix For: 0.9.0 > > > Currently we only provide it for cp27mu, we should also build them for cp27m -- This message was sent by Atlassian JIRA (v7.6.3#76005)