然后下载以下名称的 zip 文件

然后下载以下名称的 zip 文件

我尝试为 django 项目 sdu.edu.kz 安装 python 依赖项。该项目使用 cx-Oracle。当我尝试时:

./install_python_dependencies.sh install

它成功安装了除一个模块之外的所有模块。cx-Oracle 模块。但是,我在计算机上安装了 cx-Oracle 程序。

它打印错误:

Collecting cx-oracle==5.2 (from -r requirements/base.txt (line 82))
  Using cached cx_Oracle-5.2.tar.gz
   Complete output from command python setup.py egg_info:
   Traceback (most recent call last):
     File "<string>", line 1, in <module>
     File "/tmp/pip-build-RP7c9i/cx-oracle/setup.py", line 170, in <module>
       raise DistutilsSetupError("cannot locate an Oracle software " \
   distutils.errors.DistutilsSetupError: cannot locate an Oracle software installation

   ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip build-RP7c9i/cx-oracle/

如何找到 Oracle 软件安装?有什么想法吗?请帮忙

答案1

对于 Oracle 12.x,cx_Oracle 尚不可用。因此我们需要下载 11.x 版本的即时客户端。

http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html并接受许可协议。

然后下载以下名称的 zip 文件

  • instantclient-sdk-linux.x64-11.2.0.4.0.zip
  • instantclient-basic-linux.x64-11.2.0.4.0.zip

并使用 unzip 命令解压缩它们

unzip instantclient-sdk-linux.x64-11.2.0.4.0.zip
unzip instantclient-basic-linux.x64-11.2.0.4.0.zip

两者都将被提取到名为“instantclient_11_2”的公共目录中。然后使用以下命令将其添加到 PATH。

export ORACLE_HOME=/path-to_this/instantclient_11_2
cd $ORACLE_HOME
ln -s libclntsh.so.11.1   libclntsh.so

打开 /etc/profile 或 .bashrc 并查看以下条目。

export ORACLE_HOME=/location/of/your/files/instantclient_11_2
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME

然后做source ~/.bashrcsource /etc/profile

并安装这些软件包

sudo apt-get install build-essential unzip python-dev libaio-dev

之后根据你的 Python 版本使用pip或安装它pip3

pip3 install cx_Oracle

并尝试cx_Oracle在 Python 解释器中加载模块。

希望这可以帮助。

信用如下:https://gist.github.com/kimus/10012910

注意:我已经在我的 Ubuntu 16.04 安装上尝试过这个,它应该对你有用。

相关内容