Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

import python modules with the same name

I have several Python projects and they all have a conf package:

/some_folder/project_1/
  conf/
    __init__.py
    some_source_file.py

/another_folder/project_2/
  conf/
    __init__.py
    another_source_file.py

For each project, I have created a .pth file in the site-packages folder with this contents:

.../site-packages/project_1.pth:
import sys; sys.path.append('/some_folder/project_1/')

.../site-packages/project_2.pth:
import sys; sys.path.append('/another_folder/project_2/')

I can access modules in /some_folder/project_1/:

import conf.some_source_file

but not the modules in /another_folder/project_2/:

import conf.another_source_file
AttributeError: 'module' object has no attribute 'another_source_file'

It looks as if python only searches the first conf path underneath any folders in sys.path. Is there a way to fix that?

like image 492
ssc Avatar asked Jul 08 '11 20:07

ssc


1 Answers

No. You will need to either rename one of them or turn the project directory into a package and import via that.

like image 102
Ignacio Vazquez-Abrams Avatar answered Sep 24 '22 00:09

Ignacio Vazquez-Abrams