Problem solved thanks a lot
"Steve Holden" <[EMAIL PROTECTED]> a écrit dans le message de news: [EMAIL PROTECTED] > Olivier Noblanc ATOUSOFT wrote: > >> Hello, >> >> >> When i want to import a .py fire from another subdirectory i make >> >> import inc/setupxml >> >> >> but that make me an error message. >> >> A man tell me to put a dot but that doesn't work. >> >> Can you help me ? >> >> Thanks. >> >> >> > If you want to import a single .py (a Python module) then the ONLY way to > achieve that is to make sure it appears in a directory that is a member of > the sys.path list. (This is a slight simplification, but it will do as > long as you are only importing from the file store). > > There are various ways to affect the contents of sys.path, the best known > of which include > > 1. Setting the PYTHONPATH environment variable > 2. Creating *.pth files > 3. Altering sys.path inside site-customize.py in > your standard library > > Python does allow you to implement PACKAGES, which are directories > containing > > a) a file called __init__.py and (optionally) > b) other modules (.py files) and packages (directories > containing __init__.py files). > > The Python interpreter looks for packages in all the same places it looks > for modules, but it imports packages by running the __init__.py file (as > usual, this happens on the *first* time the package is imported). > > So, for example, under Cygwin or Linux/Unix, I can define a package (with > no Python in it, but still obeying the rules) as follows: > > [EMAIL PROTECTED] ~ > $ mkdir mp1 > > [EMAIL PROTECTED] ~ > $ touch mp1/__init__.py > > [EMAIL PROTECTED] ~ > $ touch mp1/rhubarb.py > > [EMAIL PROTECTED] ~ > $ mkdir mp1/p2 > > [EMAIL PROTECTED] ~ > $ touch mp1/p2/__init__.py > > [EMAIL PROTECTED] ~ > $ python > Python 2.4 (#1, Dec 4 2004, 20:10:33) > [GCC 3.3.3 (cygwin special)] on cygwin > Type "help", "copyright", "credits" or "license" for more information. > >>> import sys > >>> "" in sys.path > True > >>> import mp1 > >>> import mp1.rhubarb > >>> import mp1.p2 > >>> > > [EMAIL PROTECTED] ~ > $ find mp1 > mp1 > mp1/p2 > mp1/p2/__init__.py > mp1/p2/__init__.pyc > mp1/rhubarb.py > mp1/rhubarb.pyc > mp1/__init__.py > mp1/__init__.pyc > > In this case mp1.rhubarb is a module from the mp1 package, mp1.p2 is a > sub-package of mp1. You can see what's been compiled by the interpreter on > import and when by looking at the .pyc files. > > Does this help any? > > regards > Steve > -- > Steve Holden http://www.holdenweb.com/ > Python Web Programming http://pydish.holdenweb.com/ > Holden Web LLC +1 703 861 4237 +1 800 494 3119 -- http://mail.python.org/mailman/listinfo/python-list