Closed decalage2 closed 3 years ago
Workaround: I managed to install oletools 0.54.1 (last version without msoffcrypto-tool) by running pypy -m pip install oletools==0.54.1
.
But then the install fails again on regex, which also requires the Visual C++ compiler. Need to check if regex can be made optional for ViperMonkey.
I found a way to fix this with a conditional dependency in setup.py and requirements.txt: regex will only be installed if the platform is not PyPy or not Windows (which is the same as not(PyPy and Windows)):
regex; platform_python_implementation!="PyPy" or platform_system!="Windows"
Also oletools has been fixed the same way to avoid installing msoffcrypto-tool (see https://github.com/decalage2/oletools/issues/473). So once oletools 0.56.1 is on PyPI, we can change ViperMonkey to require oletools>=0.56.1
instead of ==0.54.1
.
Describe the bug Installing the latest ViperMonkey (Feb 2021) on Windows 10 with PyPy 2.7 fails due to dependencies such as cryptography, which need to be compiled.
To Reproduce Steps to reproduce the behavior:
pypy -m pip install -U -r requirements.txt
Expected behavior The install should work flawlessly on Windows with PyPy, without needing the Microsoft VC++ compiler installed. Problematic dependencies should be optional to avoid this issue.
Screenshots
Desktop (please complete the following information):
Additional context Actually the error comes from oletools, which requires msoffcrypto-tool, which in turns requires cryptography. So a solution may be to have msoffcrypto-tool optional for oletools. Related issue: https://github.com/decalage2/oletools/issues/473