0

I have a bug (ussue #14 on github) in my python project rma. Installing it trow pip 1.5.4 with python 3.4 some got error like this:

Downloading/unpacking rma
Downloading rma-0.1.5.tar.gz
Running setup.py (path:/tmp/pip_build_root/rma/setup.py) egg_info for package rma
Traceback (most recent call last):
  File "<string>", line 17, in <module>
  File "/tmp/pip_build_root/rma/setup.py", line 47
    setup(**sdict, install_requires=['redis', 'tabulate', 'tqdm', 'msgpack-python'])
                 ^
SyntaxError: invalid syntax
Complete output from command python setup.py egg_info:
Traceback (most recent call last):

File "<string>", line 17, in <module>

File "/tmp/pip_build_root/rma/setup.py", line 47

setup(**sdict, install_requires=['redis', 'tabulate', 'tqdm', 'msgpack-python'])

             ^

SyntaxError: invalid syntax

----------------------------------------

My own pip version 8.0.2 (python is 3.5).

I newby in python, sorry if this well known issue. I want to know - should i found way to fix it (if this is my issue) or just recommend to update pip to my user?

0

1 Answer 1

2

That package won't install on any Python version < 3.5, because the syntax is indeed invalid on anything but Python 3.5 and newer.

You can't put the **kwargs syntax in front of other keyword arguments. The two should be swapped:

setup(install_requires=['redis', 'tabulate', 'tqdm', 'msgpack-python'], **sdict)

Reporting this as a bug was the correct thing to do; the package states it supports Python 3.4 and up.

Python 3.5 added support for an arbitrary number of *args and **kwargs expansions through PEP 448, opening the door for the above to work too.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.