building with requirements

adding requirements to setup.py

Based on the Travis-CI documentation we started to track requirements in the
requirements.txt file. This solution is easy to use from the repository with

    $ pip install -r requirements.txt

But if you want installs from the pypi repository also install required
packages, a requirement.txt files is not sufficient. The general usecase for
requirements.txt files should be the development environment. For the user
environment there is another way to add required packages, which is to add an
attribute to the setup() function call in the setup.py file in the following
way:

    setup(
        #[...]
        install_requires = [
            'package-name-a ==1.0',
            'package-name-b >=2.5'
        ]
    )

Following this, it is quite likely, that an installation from the repositories
with

    $ pip install monk_tf

should be sufficient to install MONK with all it's requirements.

This was tested with creating a so called distribution package and trying to
install that. Another upload to the repositories should contain the same
package and should result in the same successes and errors.

    $ cd $MONK
    $ python setup.py sdist
    $ cd dist/
    $ pip install monk-0.1.1.tar.gz
    Unpacking ./monk_tf-0.1.1.tar.gz
      Running setup.py egg_info for package from <location>

    Downloading/unpacking pylibssh2==1.0.1 (from monk-tf==0.1.1)
      Downloading pylibssh2-1.0.1.tar.gz
      Running setup.py egg_info for package pylibssh2

    Downloading/unpacking pyserial==2.5 (from monk-tf==0.1.1)
      Downloading pyserial-2.5.tar.gz (106Kb): 106Kb downloaded
      Running setup.py egg_info for package pyserial

        warning: no files found matching 'test/test_io_lib.py'
    Installing collected packages: pylibssh2, pyserial
      Running setup.py install for pylibssh2

    <some lines omitted>

    Running setup.py install for pyserial
        changing mode of build/scripts-2.7/miniterm.py from 644 to 755

        warning: no files found matching 'test/test_io_lib.py'
        changing mode of /usr/local/bin/miniterm.py to 755
    Successfully installed pylibssh2 pyserial
    Cleaning up...

The test ran successfully.

Read issue #31 for more information.

Signed-off-by: Erik Bernoth <bernoth@dresearch-fe.de>