Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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!

like image 543
Lucas Amos Avatar asked Feb 22 '16 14:02

Lucas Amos


2 Answers

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.

like image 129
CoMartel Avatar answered Oct 06 '22 09:10

CoMartel


OK so I finally worked it out. As indicated by a few of the answers I needed to add my root folder to the system path.

In the end this is what I did:

import sys
sys.path.append("/home/lucasamos/FYP")
like image 30
Lucas Amos Avatar answered Oct 06 '22 08:10

Lucas Amos