[PYTHON] Erstellungsverfahren für das Steuerhaus manylinux1

Einführung

Hier ist eine Zusammenfassung des Verfahrens zum Erstellen eines "Steuerhauses", um die Installation abhängiger Bibliotheken in Deployment und CI + Tox zu stabilisieren und zu beschleunigen.

Was ich gelernt habe

Dockerfile

#Docker für manylinux 1-Rad von PyPA
FROM quay.io/pypa/manylinux1_x86_64

COPY ./requirements /app/requirements
COPY ./scripts/make-wheels.sh  /app/make-wheels.sh

VOLUME /app/wheelhouse /app/wheelhouse_new
WORKDIR /app/wheelhouse_new

CMD ["bash", "/app/make-wheels.sh"]

Shell Script

make-wheels.sh


set -ex

WHEELHOUSE_OLD=/app/wheelhouse
WHEELHOUSE_NEW=/app/wheelhouse_new

# Python-2.7.11(cp27mu)Radabhängige Pakete für
/opt/python/cp27-cp27mu/bin/pip wheel -r /app/requirements/online.txt -f ${WHEELHOUSE_OLD} -w ${WHEELHOUSE_NEW}

#Rad manylinux
cd ${WHEELHOUSE_NEW}
for f in ./*linux_*; do
  if [ -f $f ]; then
    auditwheel repair $f -w .
    rm $f
  fi
done

Commands

$docker build -f Dockerfile -t massa142/wheelhouse .
$docker run -it --rm -v `pwd`/wheelhouse:/app/$wheelhouse:ro -v `pwd`/wheelhouse_new:/app/wheelhouse_new massa142/wheelhouse
$rm -R wheelhouse
$mv wheelhouse_new wheelhouse

Recommended Posts

Erstellungsverfahren für das Steuerhaus manylinux1
Einfaches Verfahren zur Erstellung von Beispieldaten
Memo zur Erstellungsprozedur von [Python] virtualenv
Reiwas Verfahren zur Erstellung eines Linux-Routers ~ mit raspi4 ~