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
