I have installed Anaconda 3.5 for Windows 64bits, and I need to connect to the Oracle database using package "cx_Oracle".
I tried with the anaconda way:
conda install -c https://conda.anaconda.org/anaconda cx_oracle
The error messages below:
Hint: the following packages conflict with each other:
- cx_oracle
- python 3.5*
Use 'conda info cx_oracle' etc. to see the dependencies for each package.
Note that the following features are enabled:
- vc14
It seems that cx_oracle isn't compatible with Python 3.5.
After this, I also tried to install directly with the binary:
python setup.py install
It throws a bunch of errors like:
cx_Oracle.obj : error LNK2001: unresolved external symbol OCILobGetChunkSize
cx_Oracle.obj : error LNK2001: unresolved external symbol OCIStmtExecute
cx_Oracle.obj : error LNK2001: unresolved external symbol OCILobFileClose
Is there a way to install cx_oracle for Anaconda 3.5 ??
It's kind of non-trivial. However doable. Follow these steps:
1) Download Oracle Instant client for Windows x64 from
http://www.oracle.com/technetwork/topics/winx64soft-089540.html
eg choose client eg 11.2.0.4
-> instantclient-basic-windows.x64-11.2.0.4.0.zip
-> instantclient-sdk-windows.x64-12.1.0.2.0.zip
2) Create directory and unzip the client & sdk in there:
eg c:\\ora\\11gx64
3) Set ORACLE_HOME and TNS_ADMIN
See https://superuser.com/questions/949560/how-do-i-set-system-environment-variables-in-windows-10 for details
eg ORACLE_HOME=c:\\ora\\11gx64
and TNS_ADMIN=c:\\ora\\11gx64
also add %ORACLE_HOME% in Your %PATH%
4) In the created directory put file tnsnames.ora and fill with connection string to db:
%ORACLE_HOME%**tnsnames.ora**
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
-> replace 127.0.0.1 with your hostname
-> replace XE with your SID
5) I suppose You've got already Python installed.
-> Otherwise visit Download page for Python
-> Install python (3.6.1 in the time of writting)
-> If not installed install pip ( https://pip.pypa.io/en/stable/installing/#do-i-need-to-install-pip )
-> execute python get-pip.py
6) Download and Install Visual C++ 2015 Build Tools
-> Search for Visual C++ 2015 Build Tools -> Install visualcppbuildtools_full.exe
7) Use pip to install cx_oracle
pip install cx_oracle
(in the time of writing there is trouble with default installed version 5.3 so the Version 6.0b2 has to be installed)
python -m pip install cx_Oracle --pre
The first steps are universal in my honest opinion for both conda and pip.
I couldn't install cx_oracle from pip3 or conda either. Got it working eventually by downloading the installer for windows 64 from pypi https://pypi.python.org/pypi/cx_Oracle/
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.