mitre-attack / mitreattack-python

A python module for working with ATT&CK
https://mitreattack-python.readthedocs.io/
Apache License 2.0
457 stars 107 forks source link

[Bug] Unable to install from Pip #77

Closed IgorGanapolsky closed 2 years ago

IgorGanapolsky commented 2 years ago

Expected Behavior

Should be able to install this module by running pip install mitreattack-python

Actual Behavior

It doesn't get installed. When I run from mitreattack.navlayers import Layer, there is an error:

ModuleNotFoundError: No module named 'mitreattack'

Possible Solution

Make installer valid

Thomas-McKanna commented 2 years ago

On a macOS system with a fresh install of mitreattack-python==1.5.7 I was able to run from mitreattack.navlayers import Layer without error.

IgorGanapolsky commented 2 years ago

I am on Python 3.11. But it seems mitreattack expects Python 3.8:

igorganapolsky@Igors-Air Magisk % pip install mitreattack-python==1.5.7 Defaulting to user installation because normal site-packages is not writeable Requirement already satisfied: mitreattack-python==1.5.7 in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (1.5.7) Requirement already satisfied: Markdown in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from mitreattack-python==1.5.7) (3.3.7) Requirement already satisfied: stix2 in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from mitreattack-python==1.5.7) (3.0.1) Requirement already satisfied: tqdm in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from mitreattack-python==1.5.7) (4.64.0) Requirement already satisfied: xlsxwriter in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from mitreattack-python==1.5.7) (3.0.3) Requirement already satisfied: tabulate in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from mitreattack-python==1.5.7) (0.8.9) Requirement already satisfied: drawSvg in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from mitreattack-python==1.5.7) (1.8.3) Requirement already satisfied: pandas in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from mitreattack-python==1.5.7) (1.4.2) Requirement already satisfied: Pillow in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from mitreattack-python==1.5.7) (9.1.1) Requirement already satisfied: taxii2-client in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from mitreattack-python==1.5.7) (2.3.0) Requirement already satisfied: requests in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from mitreattack-python==1.5.7) (2.27.1) Requirement already satisfied: openpyxl in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from mitreattack-python==1.5.7) (3.0.10) Requirement already satisfied: stix2-elevator in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from mitreattack-python==1.5.7) (4.1.5) Requirement already satisfied: loguru in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from mitreattack-python==1.5.7) (0.6.0) Requirement already satisfied: numpy in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from mitreattack-python==1.5.7) (1.22.4) Requirement already satisfied: colour in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from mitreattack-python==1.5.7) (0.1.5) Requirement already satisfied: imageio in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from drawSvg->mitreattack-python==1.5.7) (2.19.3) Requirement already satisfied: cairoSVG in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from drawSvg->mitreattack-python==1.5.7) (2.5.2) Requirement already satisfied: importlib-metadata>=4.4 in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from Markdown->mitreattack-python==1.5.7) (4.11.4) Requirement already satisfied: et-xmlfile in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from openpyxl->mitreattack-python==1.5.7) (1.1.0) Requirement already satisfied: pytz>=2020.1 in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from pandas->mitreattack-python==1.5.7) (2022.1) Requirement already satisfied: python-dateutil>=2.8.1 in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from pandas->mitreattack-python==1.5.7) (2.8.2) Requirement already satisfied: certifi>=2017.4.17 in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from requests->mitreattack-python==1.5.7) (2022.5.18.1) Requirement already satisfied: urllib3<1.27,>=1.21.1 in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from requests->mitreattack-python==1.5.7) (1.26.9) Requirement already satisfied: idna<4,>=2.5 in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from requests->mitreattack-python==1.5.7) (3.3) Requirement already satisfied: charset-normalizer~=2.0.0 in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from requests->mitreattack-python==1.5.7) (2.0.12) Requirement already satisfied: stix2-patterns>=1.2.0 in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from stix2->mitreattack-python==1.5.7) (2.0.0) Requirement already satisfied: simplejson in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from stix2->mitreattack-python==1.5.7) (3.17.6) Requirement already satisfied: pycountry>=20.7.0 in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from stix2-elevator->mitreattack-python==1.5.7) (22.3.5) Requirement already satisfied: pluralizer in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from stix2-elevator->mitreattack-python==1.5.7) (1.1.0) Requirement already satisfied: stix2-validator>=3.0.0 in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from stix2-elevator->mitreattack-python==1.5.7) (3.0.2) Requirement already satisfied: netaddr in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from stix2-elevator->mitreattack-python==1.5.7) (0.8.0) Requirement already satisfied: stix<1.2.1.0,>=1.1.1.9 in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from stix2-elevator->mitreattack-python==1.5.7) (1.2.0.11) Requirement already satisfied: maec in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from stix2-elevator->mitreattack-python==1.5.7) (4.1.0.17) Requirement already satisfied: stixmarx>=1.0.8 in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from stix2-elevator->mitreattack-python==1.5.7) (1.0.8) Requirement already satisfied: six in /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/site-packages (from taxii2-client->mitreattack-python==1.5.7) (1.15.0) Requirement already satisfied: zipp>=0.5 in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from importlib-metadata>=4.4->Markdown->mitreattack-python==1.5.7) (3.8.0) Requirement already satisfied: setuptools in /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/site-packages (from pycountry>=20.7.0->stix2-elevator->mitreattack-python==1.5.7) (49.2.1) Requirement already satisfied: cybox<2.1.1.0,>=2.1.0.13 in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from stix<1.2.1.0,>=1.1.1.9->stix2-elevator->mitreattack-python==1.5.7) (2.1.0.21) Requirement already satisfied: mixbox>=1.0.4 in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from stix<1.2.1.0,>=1.1.1.9->stix2-elevator->mitreattack-python==1.5.7) (1.0.5) Requirement already satisfied: lxml>=2.2.3 in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from stix<1.2.1.0,>=1.1.1.9->stix2-elevator->mitreattack-python==1.5.7) (4.9.0) Requirement already satisfied: antlr4-python3-runtime~=4.9.0 in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from stix2-patterns>=1.2.0->stix2->mitreattack-python==1.5.7) (4.9.3) Requirement already satisfied: cpe in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from stix2-validator>=3.0.0->stix2-elevator->mitreattack-python==1.5.7) (1.2.1) Requirement already satisfied: appdirs in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from stix2-validator>=3.0.0->stix2-elevator->mitreattack-python==1.5.7) (1.4.4) Requirement already satisfied: jsonschema[format_nongpl]>=3.2.0 in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from stix2-validator>=3.0.0->stix2-elevator->mitreattack-python==1.5.7) (4.6.0) Requirement already satisfied: colorama in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from stix2-validator>=3.0.0->stix2-elevator->mitreattack-python==1.5.7) (0.4.4) Requirement already satisfied: requests-cache in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from stix2-validator>=3.0.0->stix2-elevator->mitreattack-python==1.5.7) (0.9.4) Requirement already satisfied: cairocffi in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from cairoSVG->drawSvg->mitreattack-python==1.5.7) (1.3.0) Requirement already satisfied: tinycss2 in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from cairoSVG->drawSvg->mitreattack-python==1.5.7) (1.1.1) Requirement already satisfied: cssselect2 in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from cairoSVG->drawSvg->mitreattack-python==1.5.7) (0.6.0) Requirement already satisfied: defusedxml in /Users/igorganapolsky/Library/Python/3.8/lib/python/site-packages (from cairoSVG->drawSvg->mitreattack-python==1.5.7) (0.7.1) WARNING: jsonschema 4.6.0 does not provide the extra 'format_nongpl'

jondricek commented 2 years ago

Right now I'm targeting Python 3.8 for the library as you mentioned above. Locally I use Python 3.9 as well, so haven't caught up to 3.11 which is still in beta until this October (PEP 664: https://peps.python.org/pep-0664/)

Since this appears to be working on 3.8/3.9, I'll close this for now, but feel free to re-open a new issue for 3.11 once it comes out of beta if it still is failing.