From: Steve Holden on 16 Mar 2010 10:31 Barak, Ron wrote: > Hi, > > I'm trying to add a library path to my pythonpath, but seems it is not > accepted - > > On Windows DOS window: > > C:\>echo %PYTHONPATH% > c:\views\cc_view\TS_svm_ts_tool\SVMInspector\lib\ > That looks like it should work. The only thing I notice is that I don't have a trailing backslash on my Windows PYTHONPATH. Could that be the problem? regards Steve > 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. > > > > -- Steve Holden +1 571 484 6266 +1 800 494 3119 See PyCon Talks from Atlanta 2010 http://pycon.blip.tv/ Holden Web LLC http://www.holdenweb.com/ UPCOMING EVENTS: http://holdenweb.eventbrite.com/
From: Dave Angel on 16 Mar 2010 11:03 Barak, Ron wrote: > Thanks for the suggestion Pable. > > However, I really need the $PYTHONPATH to include this additional 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 have > > HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\version\PythonPath\ as C:\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 modules are not found. > > See my response at the end. Top-posting makes for a very confusing thread. > <snip> > > 2010/3/16 Barak, Ron <Ron.Barak(a)lsi.com<mailto:Ron.Barak(a)lsi.com>> > > Hi, > > I'm trying to add a library path to my pythonpath, but seems it is not accepted - > > 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. DaveA
From: Christian Heimes on 16 Mar 2010 11:56 Steve Holden schrieb: > Barak, Ron wrote: >> Hi, >> >> I'm trying to add a library path to my pythonpath, but seems it is not >> accepted - >> >> On Windows DOS window: >> >> C:\>echo %PYTHONPATH% >> c:\views\cc_view\TS_svm_ts_tool\SVMInspector\lib\ >> > That looks like it should work. The only thing I notice is that I don't > have a trailing backslash on my Windows PYTHONPATH. Could that be the > problem? Yes, that's definitely a major issue on Windows. Windows' stat() method returns an error for paths with a trailing (back)slash. For example _stat("C:\\Windows") works but _stat("C:\\Windows\\") sets errno to ENOENT or ENOTDIR. I got bitten by the issue a couple of years ago as I worked on pars of Python's import system. Quoting Tim Peters: [1] The Microsoft stat() function is extremely picky about trailing (back)slashes. For example, if you have a directory c:/python, and pass "c:/python/" to the MS stat (), it claims no such thing exists. This isn't documented by MS, but that's how it works: a trailing (back)slash is required if and only if the path passed in "is a root". So MS stat() doesn't understand "/python/", and doesn't understand "d:" either. The former doesn't tolerate a (back)slash, while the latter requires one. Christian [1] http://mail.python.org/pipermail/python-bugs-list/2002-April/011099.html
From: Dave Angel on 16 Mar 2010 12:23 Barak, Ron wrote: > >> -----Original Message----- >> From: Dave Angel [mailto:davea(a)ieee.org] >> Sent: Tuesday, March 16, 2010 5:04 PM >> To: Barak, Ron >> Cc: Pablo Recio Quijano; python-list(a)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 this >>> >> additional 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 have >>> >>> >>> >> HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\version\PythonPath\ as >> >> C:\Python26\Lib;C:\Python26\DLLs;C:\views\cc_view\TS_svm_ts_tool\SVMIn >> >>> spector\lib\;C:\Python26\Lib\lib-tk; >>> >>> However, even with all the above, the SVMInspecor modules >>> >> are not found. >> >>> >> See my response at the end. Top-posting makes for a very >> confusing thread. >> >>> <snip> >>> >>> 2010/3/16 Barak, Ron <Ron.Barak(a)lsi.com<mailto:Ron.Barak(a)lsi.com>> >>> >>> Hi, >>> >>> I'm trying to add a library path to my pythonpath, but >>> >> seems it is not >> >>> accepted - >>> >>> 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. >> >> DaveA >> > > Hi 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. > > Well, I pointed out that your cygwin path is bogus, so of course it won't work. One of those entries is '.:\\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
From: Steve Holden on 16 Mar 2010 12:56 Dave Angel wrote: > Barak, Ron wrote: >> >>> -----Original Message----- >>> From: Dave Angel [mailto:davea(a)ieee.org] >>> Sent: Tuesday, March 16, 2010 5:04 PM >>> To: Barak, Ron >>> Cc: Pablo Recio Quijano; python-list(a)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 this >>>> >>> additional 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 have >>>> >>>> >>>> >>> HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\version\PythonPath\ as >>> >>> C:\Python26\Lib;C:\Python26\DLLs;C:\views\cc_view\TS_svm_ts_tool\SVMIn >>> >>>> spector\lib\;C:\Python26\Lib\lib-tk; >>>> >>>> However, even with all the above, the SVMInspecor modules >>>> >>> are not found. >>> >>>> >>> See my response at the end. Top-posting makes for a very >>> confusing thread. >>> >>>> <snip> >>>> >>>> 2010/3/16 Barak, Ron <Ron.Barak(a)lsi.com<mailto:Ron.Barak(a)lsi.com>> >>>> >>>> Hi, >>>> >>>> I'm trying to add a library path to my pythonpath, but >>>> >>> seems it is not >>> >>>> accepted - >>>> >>>> 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. >>> >>> DaveA >>> >> >> Hi 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. >> >> > Well, I pointed out that your cygwin path is bogus, so of course it > won't work. One of those entries is > > '.:\\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. > In point of fact the mistake that's happening here is running the Windows Python under Cygwin and expecting it to make sense. Just because you run the Windows Python interpreter under Windows doesn't make it magically capable of understanding a Cygwin path specification. We have yet to hear why the Cygwin Python isn't acceptable (though one reason might be the unavailability of 2.6). regards Steve -- Steve Holden +1 571 484 6266 +1 800 494 3119 See PyCon Talks from Atlanta 2010 http://pycon.blip.tv/ Holden Web LLC http://www.holdenweb.com/ UPCOMING EVENTS: http://holdenweb.eventbrite.com/
|
Next
|
Last
Pages: 1 2 Prev: what's the diffence between "RECENT" and "UNSEEN" in imaplib? Next: cycling through options |