@@ -0,0 +1,71 @@ 
   
    
     
     
  
    # Installing cx_Oracle for Python/ Mac OSX   
 
    
     
     
  
     
 
    
     
     
  
    Portions taken from http://www.cs.utexas.edu/~mitra/csSpring2011/cs327/cx_mac.html  (in case that link ever dies.)  
 
    
     
     
  
     
 
    
     
     
  
    Assume you've got [ homebrew] ( http://mxcl.github.com/homebrew/ )  installed.  
 
    
     
     
  
     
 
    
     
     
  
    Download the following files from [ Oracle] ( http://www.oracle.com/technetwork/topics/intel-macsoft-096467.html )   
 
    
     
     
  
     
 
    
     
     
  
     *  [ instantclient-basic-$VERSION-macosx-x64.zip] ( http://download.oracle.com/otn/mac/instantclient/11203/instantclient-basic-macos.x64-11.2.0.3.0.zip )   
 
    
     
     
  
     *  [ instantclient-sdk-$VERSION-macosx-x64.zip] ( http://download.oracle.com/otn/mac/instantclient/11203/instantclient-basiclite-macos.x64-11.2.0.3.0.zip )   
 
    
     
     
  
     
 
    
     
     
  
    Create a directory ` /usr/lib/share/oracle `   
 
    
     
     
  
     
 
    
     
     
  
        export ORACLE_HOME=/usr/lib/share/oracle   
 
    
     
     
  
        export VERSION=11.2.0.3.0   
 
    
     
     
  
        export ARCH=x86_64   
 
    
     
     
  
     
 
    
     
     
  
        mkdir -p $ORACLE_HOME   
 
    
     
     
  
     
 
    
     
     
  
     
 
    
     
     
  
    Unpack both files to that directory:  
 
    
     
     
  
     
 
    
     
     
  
        cd $ORACLE_HOME   
 
    
     
     
  
        tar -xzf instantclient-basic-$VERSION-macosx-x64.zip   
 
    
     
     
  
        tar -xzf instantclient-sdk-$VERSION-macosx-x64.zip   
 
    
     
     
  
     
 
    
     
     
  
        ln -s libclntsh.dylib.11.2 libclntsh.dylib   
 
    
     
     
  
        ln -s libocci.dylib.11.2 libocci.dylib   
 
    
     
     
  
     
 
    
     
     
  
        export DYLD_LIBRARY_PATH=$ORACLE_HOME   
 
    
     
     
  
        export LD_LIBRARY_PATH=$ORACLE_HOME   
 
    
     
     
  
     
 
    
     
     
  
     
 
    
     
     
  
    (Note I did not have to do anything with ` ottclasses.zip `  as suggested in the original utexas instructions.)  
 
    
     
     
  
     
 
    
     
     
  
     
 
    
     
     
  
    ## If you're using Pip:   
 
    
     
     
  
     
 
    
     
     
  
    Last step is to simply run ` pip ` , you might have to add an arch flag:  
 
    
     
     
  
     
 
    
     
     
  
        env ARCHFLAGS="-arch $ARCH" pip install cx_Oracle   
 
    
     
     
  
     
 
    
     
     
  
     
 
    
     
     
  
    ## If you're building from source:   
 
    
     
     
  
     
 
    
     
     
  
    Download cx_Oracle-version.tar.gz [ from Sourceforge] ( http://cx-oracle.sourceforge.net/ )   
 
    
     
     
  
     
 
    
     
     
  
     
 
    
     
     
  
        export CX_ORA_VERSION=5.1.2   
 
    
     
     
  
        tar -xzf cx_Oracle-$CX_ORA_VERSION.tar.gz   
 
    
     
     
  
        cd cx_Oracle-$CX_ORA_VERSION   
 
    
     
     
  
     
 
    
     
     
  
        env ARCHFLAGS="-arch $ARCH" python setup.py build   
 
    
     
     
  
        sudo python setup.py install   
 
    
     
     
  
     
 
    
     
     
  
     
 
    
     
     
  
    ## Notes   
 
    
     
     
  
     
 
    
     
     
  
    Some folks have recommended compiling for 32-bit (i386) instead, although I'm not sure why.  64 bit seems to work for me so YMMV.  
 
    
     
     
  
     
 
    
     
     
  
    Basically:  
 
    
     
     
  
     
 
    
     
     
  
        # compile cx_Oracle for 32-bit (requires downloading 32-bit instantclient sources)   
 
    
     
     
  
        ARCHFLAGS="-arch i386" pip install cx_Oracle   
 
    
     
     
  
     
 
    
     
     
  
        # then make your virtualenv python 32-bit only:   
 
    
     
     
  
        virtualenv .   
 
    
     
     
  
        mv bin/python python.fat   
 
    
     
     
  
        lipo python.fat -remove x86_64 -output bin/python   
 
    
     
     
  
     
 
    
     
     
  
    See: http://stackoverflow.com/questions/8169946/cant-get-cx-oracle-to-work-with-python-version-2-7-mac-os-10-7-2-lion-mis/8452731#8452731