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