[C++-sig] Embedding and calling extended python commands
Satyajit Sarangi
ssarangi123 at gmail.com
Fri Nov 30 16:32:05 CET 2007
Hi Stefan,
The errors which I get are as follows:
Python File 1:
import smallPython
a = smallPython
a.greet()
a.square(100)
Error:
C:\Python25>testpy test.py
running file test.py...
y:\private\my documents\ssarangi\my documents\visual studio
2005\projects\smallpython\smallpython\main.cpp(166): Python Error detected
in function 'int __cdecl main(int,char **)'
Traceback (most recent call last):
File "test.py", line 1, in <module>
import smallPython
ImportError: __import__ not found
1 error detected.
However, I can import the smallPython module directly into the python
interpreter...
Seems like I am missing something and also it shows me an error for the cpp
file when I have the smallPython.pyd and smallPython.lib in the python root
directory. The cpp file is the same as the example getting_started_1.cpp
Cpp File:
#include <boost/python/module.hpp>
#include <boost/python/def.hpp>
#include <string>
namespace { // Avoid cluttering the global namespace.
// A couple of simple C++ functions that we want to expose to Python.
std::string greet() { return "hello, world"; }
int square(int number) { return number * number; }
}
namespace python = boost::python;
// Python requires an exported function called init<module-name> in every
// extension module. This is where we build the module contents.
BOOST_PYTHON_MODULE(smallPython)
{
// Add regular functions to the module.
python::def("greet", greet);
python::def("square", square);
}
Thanks a lot for the help
Satyajit
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/cplusplus-sig/attachments/20071130/b507e473/attachment.htm>
More information about the Cplusplus-sig
mailing list