Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

We should no longer need src/externals, and thus not need `pegasus-config --python-externals`. For RPM and DEB packages setting PYTHONPATH would not be required at all. For binary tarballs we could ship setup.sh, like HTCondor that can set PYTHONPATH with simply `pegasus-config --python`.

Pros

  1. Eliminates manual management of python dependencies in src/externals
  2. Eliminates need to set PYTHONPATH for RPM/DEB packages etc.
  3. Easy to add new packages.


Code Block
languagebash
themeRDark
firstline1
titleRPM/DEB From PyPi
linenumberstrue
# https://stackoverflow.com/a/48285243
​
cd pegasus-src/lib/pegasus/python/
​
# Debian 9
docker run -i --rm -w /srv -v `pwd`:/srv debian:9 bash  -s <<EOT
apt-get update && apt-get -y install python-pip python-setuptools debhelper
pip install stdeb
rm -rf ./x
pip download --no-binary=:all: . -d x
cd x
tar zxvf pika-1.1.0.tar.gz
cd pika-1.1.0
python setup.py --command-packages=stdeb.command bdist_deb
EOT
​
# CentOS 7
docker run -i --rm -w /srv -v `pwd`:/srv centos:7 bash  -s <<EOT
yum -y install epel-release 
yum -y install python36-pip python36-setuptools rpm-build
rm -rf ./x
pip download --no-binary=:all: . -d x
cd x
tar zxvf pika-1.1.0.tar.gz
cd pika-1.1.0
python3 setup.py bdist --formats=rpm

...