Python in a VS 6.0 environment?

Mark Hammond mhammond at skippinet.com.au
Thu Feb 6 17:29:11 EST 2003


Brandon Van Every wrote:
> Can anyone who prefers a MS Visual Studio 6.0 working environment comment on
> the ease / difficulty of integrating Python with your C++ code?  What are
> the gotchas?  I'd like to know what tools have made the experience the least
> painful for you.
> 
> Please, no responses like "why not switch to Emacs?" or whatever.  At
> present, I'm not interested, I don't have the time.  The question is the
> question.

I tend to use MSVC for editing C++ sources, but generally use Pythonwin 
or similar as a Python editor.  Further, there is no facility to 
integrate debuggers - ie, you can not step from your C++ code into your 
Python code and back using the same debugger.

However, that said, the actual development and debugging process is very 
good.  With a little time, it is very easy to see from the C++ debugger 
exactly where your Python code is executing.  You can call 
"DebugBreak()" from your Python script to control exactly when you want 
to fall back to the MSVC debugger.  Conditional breakpoints can be 
effectively used to determine some reference counting bugs in your 
extension.  Switching between "debug" and "release" builds of Python and 
your extension is quite trivial when you do need to dig down at this level.

C++ integration is fine, but still at C.  The core Python API has no 
"base class" you can use which abstracts from the function pointers used 
by Python to virtual functions preferred by C++.  There is a C++ wrapper 
for Python, but I have never used it - hand-rolling your own really is 
pretty easy.  Note that MFC has been wrapped (by me), along with decent 
COM bindings (basically interfacing to C++ - also by me <wink>), and 
many other people have wrapped large C++ frameworks in Python without 
difficulty.

Hope this helps,

Mark.





More information about the Python-list mailing list