On Mon, Feb 11, 2013 at 8:07 PM, Daniel Holth <dho...@gmail.com> wrote:
> On Mon, Feb 11, 2013 at 1:10 PM, Erik Bernoth <erik.bern...@gmail.com>wrote: > >> Hi everybody, >> >> I think I pretty much read all of the http://docs.python.org/2/distutils/and >> started to create a pypi repository for my project ( >> http://pypi.python.org/pypi/monk_tf). Now there are some things that are >> not so clear from the documentation, with the most important being >> requirement handling. >> >> I have the same requirements written down in two ways: >> a) a requirements.txt file, which can be called with pip install -r >> requirements.txt. Yet I don't see any user downloading a requirements.txt >> file from somewhere, then installing it and only then afterwards getting >> started with actually installing the package they want to install. Who >> would do that? >> >> b) requires attribute in the setup function call in setup.py. For some >> reason pip completely seems to ignore it. I tested the following way (come >> along with the code from https://github.com/DFE/MONK, if you like): >> >> $ cd MONK >> $ python setup.py sdist >> $ cd dist >> $ tar xfvz monk_tf-v0.1.1.tar.gz >> $ cd monk_tf-v0.1.1 >> $ python setup.py install >> running install >> running build >> running build_py >> running install_lib >> running install_egg_info >> Writing /usr/local/lib/python2.7/dist-packages/monk_tf-v0.1.1.egg-info >> $python >> >> import monk_tf >> (Exception, because a required package can't be found) >> >> So this also didn't seem to install any of the required packages. >> >> I'd really like to know, what I am doing wrong here. Anybody ideas or >> suggestions? Is there another way to tell distutils about the packages that >> should be installed before my package is installed? >> >> Cheers >> Erik >> > > Generally requires.txt is for specific versions of dependencies and the > setup.py list is more permissive. > > Try using pip to install your sdist instead of running setup.py directly. > > Hi Daniel, I also tried ``pip install monk_tf-v0.1.1.tar.gz``, with the same result as using setup.py directly. He installs it but doesn't consider the "requires" list. >From your mail I would interprete that distutils actually should consider the required packages? Maybe I just wrote something incorrectly. Does the following look like a correct statements of the requires parameter? -------------------------------------------------------------- [...] package_dir = { '' : src_path }, requires = [ 'pylibssh2 (==1.0.1)', 'pyserial (==2.5)' ],provides = [ '{} ({})'.format(project, version) ] [...] -------------------------------------------------------------- Cheers Erik
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org http://mail.python.org/mailman/listinfo/distutils-sig