On Sunday, November 9, 2014 11:51:41 PM UTC-5, Steve Hayes wrote: > I have a book on Python that advocates dividing programs into modules, and > importing them when needed. > > I have a question about this. > > I can understand doing that in a compiled language, where different modules > can be imported from all sorts of places when the program is compiled. > > But I understand that Python is an interpreted language, and If I wrote a > program in Python like that, and wanted to run it on another computer, how > would it find all the modules to import at run-time, unless I copied the whole > directory structure over to the other computer? > > > > > -- > Steve Hayes from Tshwane, South Africa > Web: http://www.khanya.org.za/stevesig.htm > Blog: http://khanya.wordpress.com > E-mail - see web page, or parse: shayes at dunelm full stop org full stop uk
I have had a lot of trouble with executing relative imports with some of my projects in python. Are there any best practices or methods besides '../../' type hard-coding? In one project, a spider using scrapy, I used this method to import a module from 'the other side' of a file directory. ---- spider_lib_path = os.path.realpath(os.path.dirname(__file__) + '/../../../../../library/python') object_builder_printer = imp.load_source('object_builder_printer', spider_lib_path + '/object_builder_printer.py') object_builder = object_builder_printer.object_builder_printer(settings) ---- the file structure was: spiders/ -current/ --app/ ---spiders/ ----scrapy/ -----Charlotte/ ------1.0/ -------pipelines.py (the file that needs to import object_builder_printer.py) --library/ ---python/ ----object_builder_printer.py I think the issue had something to do with there being duplicitous file names, as in, there are multiple directories named 'spiders'. -- https://mail.python.org/mailman/listinfo/python-list