Prev: [Python3] Reading a binary file and wrtiting the bytes verbatim in an utf-8 file
Next: Reading a binary file and wrtiting the bytes verbatim in an utf-8 file
From: M.-H. Z on 22 Apr 2010 05:54 Hello dear Python hackers. I have a pretty stupid problem that I cannot solve despite all my efforts: Python cannot find my modules. I am sure the answer is obvious, but I cannot find it. The problem is simple, here is a toy example (which does not work). I have a file: --- import sys print sys.path import module2 import mod.module1 if __name__ == "__main__": print "OK" --- I have something like --- print "I am in module X" --- for the files moduleX.py. The file hierarchy is the following: "." (which is "C:\Documents and Settings\Administrateur\Bureau\Test") contains "test.py" (the main file), "module2.py", "module2.pyc" and the directory "mod". This directory contains "__init.py__" (empty) and "module1.py". I put the current path (again: "C:\Documents and Settings \Administrateur\Bureau\Test") into the PYTHONPATH environment variable (using "set" and the Control Panel) and I added the path into the PythonPath registers (just in case). The output of the execution still is: --- ['C:\\Documents and Settings\\Administrateur\\Bureau\Test', ...] I am in module 2 Traceback (most recent call last): File "test.py", line 6 in (module) from mod import module ImportError: No module named mod --- I really do not know where the error is. It works perfectly well under Linux and Mac. Could anyone help me there? Thanks a lot, Matthias.
From: Peter Otten on 22 Apr 2010 05:58 M.-H. Z wrote: > the directory "mod". This directory contains "__init.py__" (empty) and Rename "__init.py__" to "__init__.py".
From: M.-H. Z on 22 Apr 2010 06:22 Darn! That was it! I was pretty stupid! I swear I will stop drinking vodka before 8am. However, it does not solve the problem on my main project (which was not this toy example of course), since the names were correct there. Keep on working. Thanks a lot, Peter, for reading my long post and helping me. Matthias.
From: Dave Angel on 22 Apr 2010 07:06 M.-H. Z wrote: > Hello dear Python hackers. > I have a pretty stupid problem that I cannot solve despite all my > efforts: Python cannot find my modules. I am sure the answer is > obvious, but I cannot find it. > The problem is simple, here is a toy example (which does not work). > I have a file: > --- > import sys > print sys.path > import module2 > import mod.module1 > if __name__ == "__main__": > print "OK" > --- > I have something like > --- > print "I am in module X" > --- > for the files moduleX.py. > The file hierarchy is the following: > "." (which is "C:\Documents and Settings\Administrateur\Bureau\Test") > contains "test.py" (the main file), "module2.py", "module2.pyc" and > the directory "mod". This directory contains "__init.py__" (empty) and > "module1.py". > I put the current path (again: "C:\Documents and Settings > \Administrateur\Bureau\Test") into the PYTHONPATH environment variable > (using "set" and the Control Panel) and I added the path into the > PythonPath registers (just in case). > The output of the execution still is: > --- > ['C:\\Documents and Settings\\Administrateur\\Bureau\Test', ...] > I am in module 2 > Traceback (most recent call last): > File "test.py", line 6 in (module) > from mod import module > ImportError: No module named mod > --- > I really do not know where the error is. It works perfectly well under > Linux and Mac. > Could anyone help me there? > Thanks a lot, > Matthias. > > Probably the error is that you're not posting the same code as you're executing. The error message refers to a line: from mod import module which is wrong in two ways. But in your source, you show import mod.module1 which I expect should work. (I didn't try it) So run the source you posted, and if it still fails, show us the traceback from that same code. Then somebody will spot the problem. HTH DaveA
From: M.-H. Z on 22 Apr 2010 08:11
Dear Dave, You are absolutely right! I changed my code so many times that I got confused when writing the post. Actually, I tried "from mod import module1" and "import mod.module1". Of course, they led to the same error: the one that Peter pointed. Anyway, thanks a lot for your help! Matthias. (Yet, I did not find the mistake in my project... But I still cannot precisely locate it from whole lot of modules that I use.) |