2009-12-27

Using CPython modules from IronPython

I have IronPython 2.6 and Python 2.6.4 installed on a Windows box.

IronPython's interpreter ipy.exe is not installed on a directory on path, just unzipped in an arbitrary folder.
Python 2.6.4 is installed in C:\Python26 directory.

You can import pure CPython modules from IronPython as follows:

C:\Users\dude\Documents\SharpDevelop Projects\Faman5>ipy
IronPython 2.6 (2.6.10920.0) on .NET 2.0.50727.4927
Type "help", "copyright", "credits" or "license" for more information.
>>> # Try to import the os module.
>>> import os
Traceback (most recent call last):
File "", line 1, in
ImportError: No module named os
>>> # OK, we are sure that the module is can not be imported.
>>> # Now we need to import the sys module to achive our goal.
>>> import sys
>>> # sys.path is the list of directories to look for when importing modules.
>>> sys.path
['.', '.', 'C:\\Users\\dude\\Documents\\SharpDevelop Projects\\Faman5', 'C:\\Users\\dude\\Documents\\SharpDevelop Projects\\Faman5\\Lib', 'C:\\Users\\dude\\Documents\\SharpDevelop Projects\\Faman5\\DLLs', 'C:\\Users\\dude\\Documents\\SharpDevelop Projects\\Faman5']
>>> # Add the Cpython path to the sys.path as follows:
>>> sys.path.append("C:\Python26\Lib")
>>> sys.path
['.', '.', 'C:\\Users\\dude\\Documents\\SharpDevelop Projects\\Faman5', 'C:\\Users\\dude\\Documents\\SharpDevelop Projects\\Faman5\\Lib', 'C:\\Users\\dude\\Documents\\SharpDevelop Projects\\Faman5\\DLLs', 'C:\\Users\\dude\\Documents\\SharpDevelop Projects\\Faman5', 'C:\\Python26\\Lib']
>>> # Now we are sure that 'C:\\Python26\\Lib' is added.
>>> # Let us try to import the os module again.
>>> import os
>>> os.getcwd()
'C:\\Users\\dude\\Documents\\SharpDevelop Projects\\Faman5'
>>> # Success!

No comments:

Post a Comment