1

Python newbie here. Any and all help on python structure would be much appreciated!

MAIN QUES: How to Import Multiple Python Modules from Other Directories

I've reassembled the repository for a project so that modules for specific tasks are within individual folders according to type of task instead of just one huge folder. Because my modules were all in one folder, I used to be able to import easily in this fashion:

import sys
sys.path.insert(0,'/home/myname/folder_name/all_modules')

Now, I have four module folders.

  1. aws_boto_modules
  2. email_modules
  3. gen_modules
  4. mongo_modules

Python directory

I want to import two of these modules into script_to_run.py.

What I tried that did not work:

import sys
sys.path.insert(0,'/home/myname/folder_name/email_modules')
sys.path.insert(0,'/home/myname/folder_name/gen_modules')
  • I tried sys.path.append as well.
  • I added to my PYTHONPATH on my local comp (MAC OS) and everything works dandy. However, when I change the PYTHONPATH on my AWS EC2 and attempt to run script_to_run.py, it cannot find email_modules nor gen_modules.

I've read a lot in the last three hours, but am still very confused about how to proceed. Any guidance, including useful links that I may not have encountered already, would be greatly appreciated. Thanks!

rogue0137
  • 21
  • 5
  • you need to write a [`__init__.py`](http://stackoverflow.com/questions/448271/what-is-init-py-for) in the folders – Taku Mar 28 '17 at 02:21
  • Thank you! I have __init__.py in the folders. Do you know why it might still not be picking them up? – rogue0137 Mar 28 '17 at 05:27

1 Answers1

0

__init__.py files are required to make Python treat the directories as containing packages. In the image below we are importing customer_info module from second_folder:

enter image description here

hemraj
  • 964
  • 6
  • 14