Robin's Blog

How to: Find out what modules a Python script requires

I do a lot of my academic programming in Python, and – even though I often write about the importance of reproducible research – I don’t always document my code very well. This sometimes leads to problems where I have some code running fine, but I don’t know which modules it requires. These could be external libraries, or modules I’ve written myself – and it’s very frustrating to have to work out the module requirements by trial and error if I transfer the code to a new machine.

However, today I’ve realised there’s a better way: the modulefinder module. I’ve written a short piece of code which will produce a list of all of the ‘base’ or ‘root’ modules (for example, if you run from LandsatUtils.metadata import parse_metadata, then this code will record LandsatUtils) that your code uses, so you know which you need to install.

Hopefully, like me, it’ll save you some time.


Categorised as: Academic, How To, Programming, Python


One Comment

  1. […] não deu tão certo quanto eu esperava, mas as surpresas foram bem interessantes. Usei um script dessa página aqui que usa uma biblioteca chamada modulefinder que consegue fazer esse trabalho de exibir as coisas. […]

Leave a Reply

Your email address will not be published. Required fields are marked *