Yes, now it works! Thanks a lot! Last but not least, could you point me in the correct direction to add a patch for the distutils documentation, explaining this more clearly?
On Mon, Feb 11, 2013 at 8:34 PM, Daniel Holth <[email protected]> wrote: > Try install_requires = [ the list you have already without () ] > > Daniel > > > On Mon, Feb 11, 2013 at 2:32 PM, Erik Bernoth <[email protected]>wrote: > >> 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 <[email protected]> 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 <[email protected]>wrote: >>> >>>> >>>> On Mon, Feb 11, 2013 at 8:07 PM, Daniel Holth <[email protected]> wrote: >>>> >>>>> On Mon, Feb 11, 2013 at 1:10 PM, Erik Bernoth >>>>> <[email protected]>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 - [email protected] http://mail.python.org/mailman/listinfo/distutils-sig
