Barak, Ron wrote:
Well, I pointed out that your cygwin path is bogus, so of course it won't work. One of those entries is-----Original Message----- From: Dave Angel [mailto:da...@ieee.org] Sent: Tuesday, March 16, 2010 5:04 PM To: Barak, Ron Cc: Pablo Recio Quijano; python-list@python.org Subject: RE: How to add a library path to pythonpath ?Barak, Ron wrote:Thanks for the suggestion Pable. However, I really need the $PYTHONPATH to include thisadditional library, so all Python scripts could use it.In Windows I have defined PYTHONPATH as c:\views\cc_view\TS_svm_ts_tool\SVMInspector\lib\, and also in the Windows registry I haveHKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\version\PythonPath\ asC:\Python26\Lib;C:\Python26\DLLs;C:\views\cc_view\TS_svm_ts_tool\SVMInspector\lib\;C:\Python26\Lib\lib-tk; However, even with all the above, the SVMInspecor modulesare not found.See my response at the end. Top-posting makes for a very confusing thread.<snip> 2010/3/16 Barak, Ron <ron.ba...@lsi.com<mailto:ron.ba...@lsi.com>> Hi, I'm trying to add a library path to my pythonpath, butseems it is notaccepted - On Windows DOS window: C:\>echo %PYTHONPATH% c:\views\cc_view\TS_svm_ts_tool\SVMInspector\lib\ C:\>python -c "import sys ; print sys.path" ['', 'c:\\views\\cc_view\\TS_svm_ts_tool\\SVMInspector\\lib', 'C:\\WINDOWS\\syst em32\\python26.zip', 'C:\\Python26\\DLLs', 'C:\\Python26\\lib', 'C:\\Python26\\l ib\\plat-win', 'C:\\Python26\\lib\\lib-tk', 'C:\\Python26', 'C:\\Python26\\lib\\ site-packages', 'C:\\Python26\\lib\\site-packages\\wx-2.8-msw-unicode'] C:\> On Windows cygwin: $ echo $PYTHONPATH .:/cygdrive/c/views/cc_view/TS_svm_ts_tool/SVMInspector/lib/ $ python -c "import sys ; print sys.path" ['','.:\\cygdrive\\c\\views\\cc_view\\TS_svm_ts_tool\\SVMInspector\\lib','C:\\WINDOWS\\system32\\python26.zip', 'c:\\Python26\\DLLs', 'c:\\Python26\\lib', 'c:\\Python26\\lib\\plat-win', 'c:\\Python26\\lib\\lib-tk', 'c:\\Python26', 'c:\\Python26\\lib\\site-packages', 'c:\\Python26\\lib\\site-packages\\wx-2.8-msw-unicode'] $ What am I doing wrong ? Thanks, Ron.In your original message, what you displayed worked exactly as expected. As you didn't say what made you think something was wrong, I ignored the message. Now, you say that some modules are not found. So how about giving some more specifics so someone can actually debug the problem. Pick a particular module, tell us the complete path to that module, and show us both the sys.path strings (which look correct for the Windows case, and of course bogus for the cygwin case), as well as the offending import statement and its traceback. DaveAHi Dave, My Python is the Windows Python (I need this for wxPython): $ ls -ls `which python` 1 lrwxrwxrwx 1 rbarak mkgroup-l-d 31 Mar 4 14:02 /usr/bin/python -> /cygdrive/c/Python26/python.exe Here's a demo script: #!/usr/bin/env python import sys print "\n",sys.path,"\n" from ErrorManager.ErrorManager import ErrorManager And it's run produces: $ python -u tmp.py ['c:\\views\\cc_view\\TS_svm_ts_tool\\svm_ts_tool', '.:\\cygdrive\\c\\views\\cc_view\\TS_svm_ts_tool\\SVMInspector\\lib', 'C:\\WINDOWS\\system32\\python26.zip', 'c:\\Python26\\DLLs', 'c:\\Python26\\lib', 'c:\\Python26\\lib\\plat-win', 'c:\\Python26\\lib\\lib-tk', 'c:\\Python26', 'c:\\Python26\\lib\\site-packages', 'c:\\Python26\\lib\\site-packages\\wx-2.8-msw-unicode'] Traceback (most recent call last): File "tmp.py", line 6, in <module> from ErrorManager.ErrorManager import ErrorManager ImportError: No module named ErrorManager.ErrorManager $ ls -ls /cygdrive/c/views/cc_view/TS_svm_ts_tool/SVMInspector/lib/ErrorManager/ErrorManager.py 4 -rwxr-xr-x 1 rbarak ???????? 1843 Sep 21 19:16 /cygdrive/c/views/cc_view/TS_svm_ts_tool/SVMInspector/lib/ErrorManager/ErrorManager.py $ grep ErrorManager /cygdrive/c/views/cc_view/TS_svm_ts_tool/SVMInspector/lib/ ErrorManager/ErrorManager.py class ErrorManager: $ echo $PYTHONPATH .:/cygdrive/c/views/cc_view/TS_svm_ts_tool/SVMInspector/lib/ Please let me know if the above is enough, or you'd like to see the results from a Windows' DOS window. Thanks, Ron.
'.:\\cygdrive\\c\\views\\cc_view\\TS_svm_ts_tool\\SVMInspector\\lib'I use Linux, and I use Windows. But cygwin's glomming together has never made sense; some things are Unix-like, and others are Windows-like. So anything you do in that environment is beyond me.
If I had to guess, though I'd say you wanted to drop those first two characters from your PYTHONPATH. If you really wanted two directories there, you should be separating them with semicolon (Windows rules), rather than colon (Linux rules). First thing I'd do to test my theories is to print something like:
print sys.path[1] print os.listdir(sys.path[1]) Does Python even see the cygwin view of the world ?You also don't show the location of the module you're trying to import. I'm guessing that it's at ...SVMInspector/lib/ErrorManager/ErrorManager.py
Do you have a file ...SVMInspector/lib/ErrorManager/__init__.py ?I would seriously recommend against naming your package, your module, and your class all the same thing. Makes debugging very hard. At least make them have different case combinations.
DaveA -- http://mail.python.org/mailman/listinfo/python-list