"error: cannot locate an Oracle software installation" When trying to install cx_Oracle
Don't use easy_install or pip, they don't really work very well for installing cx_Oracle since there are a number of environmental dependencies that the install scripts don't set up automatically. You need to get an oracle client driver, the quickest of which to find is the instantclient. Then point your ORACLE_HOME and PATH at the install location for the drivers, and install cx_Oracle itself. You should be good to go after that.
see: easy_install cx_Oracle (python package) on Windows
The question is about windows, but the answer includes info on *nix.
Install Oracle Client
Download Oracle Client: http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
Example: oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm
Install Alien:
sudo apt-get install alien
install the RPM in the Ubuntu system:
sudo alien -i oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm`
Add to environment variables
vim ~/.bashrc export ORACLE_HOME=/usr/lib/oracle/12.2/client64/lib/ export LD_RUN_PATH=/usr/lib/oracle/12.2/client64/lib:$LD_RUN_PATH source ~/.bashrc sudo ln -s /usr/lib/oracle/12.2/client64 $ORACLE_HOME/include`
Finally
pip install cx-Oracle
I installed cx_Oracle
, but I also had to install an Oracle client to use it (the cx_Oracle
module is just a common and pythonic way to interface with the Oracle client in Python).
So you have to set the variable ORACLE_HOME
to your Oracle client folder (on Unix: via a shell, for instance; on Windows: create a new variable if it does not exist in the Environment variables of the Configuration Panel). Your folder $ORACLE_HOME/network/admin
(%ORACLE_HOME%\network\admin
on Windows) is the place where you would place your tnsnames.ora
file.