'amundsen-databuilder : 'extras_require' must be a dictionary error

When trying to install Setup.py am getting the following error:

'extras_require' must be a dictionary whose values are strings or lists of strings containing valid project/version requirement specifiers.

I got the latest setup tools and also the latest pip3 install in my virtual environment.

enter image description here



Solution 1:[1]

You really should post your setup.py in your question (wrap it in code snippet tags), not just a picture of part of it. Also, it's a good idea to post the actual error thrown in your terminal rather than your summary of it.

This is how the error is telling you the extras_require dictionary should be formatted:

extras_require = {
    'key': 'value',
    'key2': ['value1', 'value2'],
}

What you have doesn't have strings or lists of strings unless you've assigned string values to the variables. Of course, this would be easier to know if you pasted your setup.py in your question.

Solution 2:[2]

For Windows System

From amundsen troubleshooting Guide

It suggests copying the contexts from databuilder/requirements_dev.txt to databuilder/

For me it worked by changing following lines in setup.py

requirements_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), '../requirements-dev.txt')

here '../requirements-dev.txt' represents the contexts in /requirements_dev.txt.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 weibullguy
Solution 2 Tushar Tiwari