I basically follow the tutorial in the distutils docs, which is a little unclear to me in some points.
If I do as you say it looks like this: -------------------------------------------------------------- [...] package_dir = { '' : src_path }, requires = [ 'pylibssh2==1.0.1', 'pyserial==2.5' ],provides = [ '{} ({})'.format(project, version) ] [...] -------------------------------------------------------------- And the result of ``$ python setup.py sdist`` is: [...] # exception stack ValueError: expected parenthesized list: '==1.0.1' That also happens if I add spaces between project name and comparator. On Mon, Feb 11, 2013 at 8:24 PM, Daniel Holth <dho...@gmail.com> wrote: > This is a common mistake. The parenthesis are a Metadata 1.2+ thing. Omit > them for distutils. > > > On Mon, Feb 11, 2013 at 2:22 PM, Erik Bernoth <erik.bern...@gmail.com>wrote: > >> >> 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