我下载了cx_oracle 5.2.1并开始构建:
python setup.py build
我注意到它在我的系统中发现了构建依赖关系而没有任何规范。我想更好地理解它是如何做到的。 setup.py中的内容不表示任何此类信息。
答案 0 :(得分:0)
我现在没有cx_Oracle的setup.py源代码,但是在它附带的BUILD.txt文件中,它提到了一些环境变量的使用:
有必要设置环境变量ORACLE_HOME和 LD_LIBRARY_PATH在$ HOME / .profile里面,以便cx_Oracle导入 安装后正确,以便正确构建。用一个 文本编辑器将以下设置添加到$ HOME / .profile确保 更改实际安装路径的位置。
Example ($HOME/.profile): ------------------------- export ORACLE_HOME=[your installation path]/instantclient_11_1 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME
这是关于Linux提示的部分,我记得我必须设置相同的东西来在Windows下构建它。
至于如何找到更多标准库。我认为这是distutils模块神奇的一部分。在unix下,只要通过unix的标准打包机制安装了所需的库和头文件,distutils通常就可以正常工作。这可能是因为unix有更好的标准化方法来定位构建资源(比如Windows)。
我知道当我被迫在Windows下编译Python包时,我经常要明确告诉它在哪里找到头文件和库。在不得不出去找到所说的库并手动编译之后。