It we want to get the current version of a external package and make it available in the release, there are several options.

Build, Install, and link through scons

For example, with scikit-beam, first we make a release environment and get the package - need to be on pslogin or psel701, a machine with internet access for the git and perhaps subsequent build

sit_setup ana-current scikit-beam-devel
cd scikit-beam-devel
sit_setup
git clone https://github.com/scikit-beam/scikit-beam.git
mv scikit-beam scikit-beam-devel   # not neccessary, but we'll use scikit-beam for our SConscript proxy package
cd scikit-beam-devel

# now we'll build it, and 'install' it in a local directory called install
python setup.py build
python setup.py install --prefix=install --old-and-unmanageable

So at this point, in our release directory scikit-beam-devel, we have a subdirectory that is also called scikit-beam-devel, and it has a subdirectory called install which has the installation of scikit-beam.

To link it into our local release, we make a external package. This is a subdirectory with one file - a SConscript file.

cd .. # back into release directory
mkdir scikit-beam
cd scikit-beam
vi SConscript

Now paste into the SConscript file something like the following

Import('*')
from SConsTools.standardExternalPackage import standardExternalPackage
PREFIX = '/reg/neh/home/davidsch/rel/scikit-beam-devel/scikit-beam-devel/install'
PYDIR = '/reg/neh/home/davidsch/rel/scikit-beam-devel/scikit-beam-devel/install/lib/python2.7/site-packages'
standardExternalPackage('skbeam', **locals())

where you edit for your prefix and pydir.

This is not the best for a developer. Everytime you modify the source, you have to build and install again using the commands

python setup.py build
python setup.py install --prefix=install --old-and-unmanageable

Development Mode

https://pythonhosted.org/setuptools/setuptools.html#development-mode

  • No labels