PyCXX -- README

Installation using distutils

Windows Installation and Demo

  1. Fetch http://prdownloads.sourceforge.net/cxx/pycxx-6.2.7.tar.gz
  2. Expand the archive into a directory of your choosing C:\ for example. Note: WinZip can expand .tar.gz files.
  3. Install the PyCXX files:
    1. C:> cd \pycxx-6.2.7
    2. C:\pycxx-6.2.7> python setup.py install
  4. Build and run the demo extensions:
    1. C:> cd \pycxx-6.2.7
    2. C:\pycxx-6.2.7> python setup_makefile.py win32 win32.mak 
    3. C:\pycxx-6.2.7> nmake -f win32.mak clean test

Unix Installation and Demo

Note: distutils is not available for Python 1.5.2

  1. Fetch http://prdownloads.sourceforge.net/cxx/pycxx-6.2.7.tar.gz
  2. Login as root. root access is typically needed on Unix systems to install the PyCXX files into the Python directories.
  3. Expand the archive into a directory of your choosing ~\ for example.
  4. Install the PyCXX files:
    1. # cd ~/pycxx-6.2.7
    2. # python setup.py install
  5. Build and run the demo extensions:
    1. # cd ~/pycxx-6.2.7
    2. # python setup_makefile.py linux linux.mak
    3. # make -f linux.mak clean test

Revision History

Version 6.2.8 (10-May-2016)

Fix crash when a member function is called via callMemberFunction() and that function raises an expection.

Found in comment on StackOverFlow. Fix memory size allocated for new objects. It used the wrong size calculation, but was big enough to avoid problems.

Version 6.2.7 (28-Apr-2016)

Fix missing ptr__Unicode_Type.

Fixes from learn0more@gmail.com make python2 also remember the m_module and add accessor functions.

Fix for indirection issues from Vivian De Smedt.

Update to work with latest Microsoft Visual C++ for python 2.7. All test run in Win32 and Win64.

PyCXX.html documention has been updated, especially with 2TO3 information.

Use delete[] for objects allocated with new[].

Version 6.2.6 (04-Jan-2015)

Fix build issue with GCC 4.2.1 on FreeBSD and Mac OS X (stop python defining isspace as a macro).

Remove support for python 3.1 (API's are unstable).

Add Python 3.3 support.

Patch from Michael Droettboom to fix compilation issues.

Patch from Michael Droettboom to add buffer interface for python3.

Version 6.2.4 (3-Mar-2012)

Fix memory leak in string encode and decode functions

Fix indirect python loading on windows - Bool_type was missing

Version 6.2.3 (11-Mar-2011)

Version 6.2.2 (26-Dec-2010)

Fix problem compiling against Python 3.1.3

Version 6.2.1 (3-May-2010)

Fix problems with new style classes

Replace all example makefile and project files with setup_makefile.py script.

Add APIs to make calling python functions easier. See TupleN(), callOnSelf(), self()

Version 6.1.1 (26-Sep-2009)

Supports Python 3 starting at Python 3.1 and Python 2

Code clean up to fix compiler warnings reported by gcc 4.2.1 on Mac OS X when building for Python 3.

Version 6.1.0 (19-Jul-2009)

Support Python 3 and Python 2