Search code examples
pythonpython-2.7piptoxmatrix-synapse

Trouble running python unit tests with tox - ImportError for module that is already installed


I am new to python and am trying to run unit tests for this project: https://github.com/matrix-org/synapse

I am running tox from the top level of the project. I get this error: exceptions.ImportError: No module named pymacaroons

But pymacaroons is already installed using pip. To my knowledge, I only have one version of python. Really stumped here.


Solution

  • tox creates its own virtual environments and installs dependencies according to tox.ini. pymacaroons is not listed in tox.ini hence it's not installed. To install it either add pymacaroons to tox.ini (section [testenv], key deps) or add -rrequirements.txt to tox.ini and list pymacaroons in the requirements.txt.