Not really. Install_requires is a setup tools/distribute feature. On Feb 11, 2013 2:52 PM, "Erik Bernoth" <erik.bern...@gmail.com> wrote:
> 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 <dho...@gmail.com> wrote: > >> Try install_requires = [ the list you have already without () ] >> >> Daniel >> >> >> On Mon, Feb 11, 2013 at 2:32 PM, Erik Bernoth <erik.bern...@gmail.com>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 <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