Quantcast

Replaced Python.exe file causes problems for extension modules

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Replaced Python.exe file causes problems for extension modules

Øystein Skotheim-2
Hello. I have managed to compile the SVN version of PythonDotNet against
the 4.0 version of the .NET library with Visual Studio 2010 on Windows
7. I copied over clr.pyd, Python.Runtime.dll as well as new versions of
python.exe and pythonw.exe into my C:\Python26 directory. I am now able
to import .NET 4.0 modules after writing "import clr" :-)

However, I have run into a few problems because I had to replace my
Python executable. I am using a lot of packages from the PythonXY that
depend on c extension modules (.pyd-files). Whenever I try to import
such a module, I get the following error:

Runtime Error!

Program: C:\Python26\Python.exe

R6034
An application has made an attempt to load the C runtime library
incorrectly.
Please contact the application's support team for more information.

I think the reason for this is that I have compiled Python.exe with
Visual Studio 2010, whereas the extension modules are compiled with
Visual Studio 2008 (i.e. my Python.exe is linked against msvcrt10.dll
while the extension modules are linked against msvcrt90.dll)

Is there any way I can prevent this error from happening without having
to recompile all the extension modules in my PythonXY distribution?

The other solution would be to keep my original "Python.exe" file, but
if I do that I get the following error message when I try to import the
CLR module:

In [1]: import clr
------------------------------------------------------------
Traceback (most recent call last):
   File "<ipython console>", line 1, in <module>
SystemError: dynamic module not initialized properly

Is there any way around this?

Cheers,

---
Øystein Skotheim
Research Scientist, Optical Measurement Systems and Data Analysis
SINTEF ICT, Trondheim, Norway
_________________________________________________
Python.NET mailing list - [hidden email]
http://mail.python.org/mailman/listinfo/pythondotnet
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Replaced Python.exe file causes problems for extension modules

dhirschfeld
Øystein Skotheim <oystein+pythondotnet@...> writes:

>
> Hello. I have managed to compile the SVN version of PythonDotNet against
> the 4.0 version of the .NET library with Visual Studio 2010 on Windows
> 7. I copied over clr.pyd, Python.Runtime.dll as well as new versions of
> python.exe and pythonw.exe into my C:\Python26 directory. I am now able
> to import .NET 4.0 modules after writing "import clr"
>
> However, I have run into a few problems because I had to replace my
> Python executable. I am using a lot of packages from the PythonXY that
> depend on c extension modules (.pyd-files). Whenever I try to import
> such a module, I get the following error:
>
> Runtime Error!
>
> Program: C:\Python26\Python.exe
>
> <snip>
>
> The other solution would be to keep my original "Python.exe" file, but
> if I do that I get the following error message when I try to import the
> CLR module:
>
> In [1]: import clr
> ------------------------------------------------------------
> Traceback (most recent call last):
>    File "<ipython console>", line 1, in <module>
> SystemError: dynamic module not initialized properly
>
> Is there any way around this?
>
> Cheers,
>
> ---
> Øystein Skotheim
> Research Scientist, Optical Measurement Systems and Data Analysis
> SINTEF ICT, Trondheim, Norway


Sounds like you may have forgotten to edit your buildclrmodule.bat file to
reference the .NET4 version of ilasm - see:

http://permalink.gmane.org/gmane.comp.python.dotnet/970

I don't know that copying over the newly compiled python.exe will work (possibly
for the reasons you state) however simply copying over the clr.pyd and
Python.Runtime.dll to your C:\Python26 directory should work if you make the
changes to the buildclrmodule.bat file.

HTH,
Dave


_________________________________________________
Python.NET mailing list - [hidden email]
http://mail.python.org/mailman/listinfo/pythondotnet
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Replaced Python.exe file causes problems for extension modules

Øystein Skotheim-2
On 11.07.2011 12:34, Dave Hirschfeld wrote:

>> The other solution would be to keep my original "Python.exe" file, but
>> if I do that I get the following error message when I try to import the
>> CLR module:
>>
>> In [1]: import clr
>> ------------------------------------------------------------
>> Traceback (most recent call last):
>>     File "<ipython console>", line 1, in<module>
>> SystemError: dynamic module not initialized properly
>>
>> Is there any way around this?

> Sounds like you may have forgotten to edit your buildclrmodule.bat file to
> reference the .NET4 version of ilasm - see:
>
> http://permalink.gmane.org/gmane.comp.python.dotnet/970
>
> I don't know that copying over the newly compiled python.exe will work (possibly
> for the reasons you state) however simply copying over the clr.pyd and
> Python.Runtime.dll to your C:\Python26 directory should work if you make the
> changes to the buildclrmodule.bat file.

Thanks a lot, Dave. After making the changes you suggested, it works to
import the clr module with the original Python.exe file :-)

Cheers,
---
Øystein Skotheim
Research Scientist, Optical Measurement Systems and Data Analysis
SINTEF ICT, Trondheim, Norway
_________________________________________________
Python.NET mailing list - [hidden email]
http://mail.python.org/mailman/listinfo/pythondotnet
Loading...