Re: DLLs loading in interpreter but not with direct run on Windows

2010-04-26 Thread JTimoty
Sorry guys, the problem seems to be less general.

Actually, the error is triggered when I try to import numpy before
PyQt4. It imports without any problems after PyQt4.

I still don't know what the problem actually is, but at least my
scripts work.

Thanks,

Tim.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: DLLs loading in interpreter but not with direct run on Windows

2010-04-24 Thread Michel Claveau - MVP
Hi!

AMHA (IMO), it is PyQT4 who change the DLL loader...

@+
-- 
MCI
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: DLLs loading in interpreter but not with direct run on Windows

2010-04-24 Thread TerryP
On Apr 23, 4:47 pm, JTimoty jtim...@gmail.com wrote:
 Hi,

 I've got a weird problem, apparently related to the way python
 searches for DLLs on Windows.

 I compiled PyQt4 (no errors) but scripts that use it fail with DLL
 load failed: Invalid access to memory location.
 If I play with loading the modules inside the interpreter, I see no
 errors.

 Even more, if I use IDLE, running scripts fails. However, if I _first_
 type from PyQt4 import QtGui in the python shell, the script
 executes without problems.


I have the batch file that sets up my python 2 and python 3 sessions,
each append the site-packages\PyQt4 directory to my %Path%, so that
Windows will definitely be able to see the (Py)Qt DLL files located
there.

If you take a look at the PyQt4 package, __init__.py is just a stub.
I'm not familiar with SIP, so I don't know what pyqtconfig.py does.
Everything that you import however, is basically the name of a .pyd
and .dll file there. E.g. from pyQt4 import QtGui = there is a
QtGui.pyd and QtGui.dll module.

The .pyd file is what you're really importing, but I don't recall the
relationship to the dll files clumped around it. You can probably find
it in the python or windows manuals somewhere.


 What is the difference between these two cases? How is loading dlls
 different in ( $ python script.py ) and just ( $ python )?

 Thanks,
 Tim.

Example from my system:

 vim test.py

 python test.py
['My CWD', 'C:\\WINDOWS\\system32\\python26.zip', 'C:\\Dev
Files\\Languages\\Python\\26\\DLLs', 'C:\\DevFiles\\Languages\\Python\
\26\\lib', 'C:\
\DevFiles\\Languages\\Python\\26\\lib\\plat-win', 'C:\\DevFiles\
\Languages\\Python\\2
6\\lib\\lib-tk', 'C:\\DevFiles\\Languages\\Python\\26', 'C:\\DevFiles\
\Languages\\Pyt
hon\\26\\lib\\site-packages', 'C:\\DevFiles\\Languages\\Python\\26\\lib
\\site-package
s\\gtk-2.0']

 python
Python 2.6.5 (r265:79096, Mar 19 2010, 21:48:26) [MSC v.1500 32 bit
(Intel)] on win32

Type help, copyright, credits or license for more information.
 import sys
 sys.path
['', 'C:\\WINDOWS\\system32\\python26.zip', 'C:\\DevFiles\\Languages\
\Python\\26\\DLL
s', 'C:\\DevFiles\\Languages\\Python\\26\\lib', 'C:\\DevFiles\
\Languages\\Python\\26\
\lib\\plat-win', 'C:\\DevFiles\\Languages\\Python\\26\\lib\\lib-tk',
'C:\\DevFiles\\L
anguages\\Python\\26', 'C:\\DevFiles\\Languages\\Python\\26\\lib\\site-
packages', 'C:
\\DevFiles\\Languages\\Python\\26\\lib\\site-packages\\gtk-2.0']


I also note that there is no python26.zip file in %SystemRoot%
\system32, just DLL files corresponding to each version of Python I
have installed.
-- 
http://mail.python.org/mailman/listinfo/python-list