Skip to content

Implementation of C++ Boost Python Examples, With python3.5+ support

Notifications You must be signed in to change notification settings

zpoint/Boost-Python-Examples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Boost Python Examples



C++ Boost Python

Boost Installation with python3 support
  • OS Ubuntu 16.10

  • From source

    • Download the latest version here

    • Description of user-config.jam please refer to here

        tar -xzvf boost_1_65_1.tar.gz
        cd boost_1_65_1
      
        # sudo find / -name "python3.5m" # If you don't know where python3.5m is
        # which python3 # If you don't know your python3 install directory
        echo "using mpi ;
        using gcc :  : g++ ;
        using python : 3.5 : /usr/bin/python3 : /usr/include/python3.5m : /usr/local/lib ;" > ~/user-config.jam
      
        ./bootstrap.sh --with-python=/usr/bin/python3 --with-python-version=3.5 --with-python-root=/usr/local/lib/python3.5 --prefix=/usr/local
        sudo ./b2 install -a --with=all
        sudo ldconfig
      
  • From apt

    sudo apt-get install libboost-all-dev
    # link libboost_python3.so
    sudo find / -name "libboost_python-py35.so"
    # cd to where you find it
    cd /usr/lib/x86_64-linux-gnu/
    sudo ln -s libboost_python-py35.so libboost_python3.so
    
  • OS Mac

      brew install boost-python --with-python3
      # if your python version or lib path is different from mine, please change
      # INCLUDE_PATH and LIBPYTHON_PATH in makefile
    
      # INCLUDE_PATH:
      # shold be the path contains "pyconfig.h", below two command can help you find the path
      # sudo find / -name "pyconfig.h"
      # python3 -c "import sys; print('\n'.join(sys.path))"
    
      # LIBPYTHON_PATH:
      # on mac, with version python3.6, lib name is: libpython3.6.dylib
      # sudo find / -name "libpython3.6"
    
Demo
  • If you install from source, and you change the prefix path when install, you need also change the BOOST_INC and BOOST_LIB in makefile
  • My default python version is python3.5 on Ubuntu, python3.6 on Mac, if you want to use with python 2.7, change "PYTHON_VERSION" in makefile
python3 hello_ext
git clone https://github.com/zpoint/Boost-Python-Examples.git
cd Boost-Python-Examples/Examples/hello_ext
make

python3
Python 3.5.2 (default, Nov 17 2016, 17:05:23)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import hello_ext
>>> hello_ext.greet()
'hello, world'
python2 hello_ext
git clone https://github.com/zpoint/Boost-Python-Examples.git
cd Boost-Python-Examples/Examples/hello_ext
vim makefile # change the first line "PYTHON_VERSION = None" to "PYTHON_VERSION = 2.7"
make

python
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import hello_ext
>>> hello_ext.greet()
'hello, world'

About

Implementation of C++ Boost Python Examples, With python3.5+ support

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published