"ImportError: No module named..." when importing my own module

Lucas Amos picture Lucas Amos · Feb 22, 2016 · Viewed 30.6k times · Source

I am trying to import a module and I keep getting an ImportError.

In the PortfolioStatus.py file I have the following code which imports the share_data class from the share_data.py module
from Shares.share_data import share_data

I am getting the following error:

File "/home/lucasamos/FYP/Shares/Communication/PortfolioStatus.py", line 3, in <module>
from Shares.share_data import share_data
ImportError: No module named Shares.share_data

To make things more confusing this works fine on my local machine but I am hosting on PythonAnywhere and this is where I am getting the error

My file hierarchy is show in the image below

File hierarchy

Thanks in advance!

Answer

CoMartel picture CoMartel · Feb 22, 2016

you should try this:

import sys
sys.path.append("../Shares/templates")
import share_data

It adds your templates folder to the list of path python is checking for modules.