我正在使用pip并尝试安装一个名为pyodbc的python模块,它对unixodbc-dev,unixodbc-bin,unixodbc等非python库有一些依赖性.我目前无法在系统中安装这些依赖项,因为我只是在玩,所以我已将它们安装在非标准位置.我如何告诉pip在哪里寻找这些依赖项?更确切地说,如何通过包含dirs(gcc -I)和库dirs(gcc -L -l)的pip来传递信息,以便在构建pyodbc扩展时使用?
我知道setup.py使用与构建python相同的CFLAGS.我有一个我们的C扩展,即segfaulting.我需要构建它而不是 -O2因为-O2优化了一些值和代码,因此核心文件不足以解决问题.
我只需要修改setup.py,这样-O2就不用了.
我读过的distutils文件,尤其是distutils.ccompiler和distutils.unixcompiler,看看如何添加标记和库,包括,但不知道如何修改默认的gcc标志.
具体来说,这是针对Python 2.5.1上的遗留产品,带有一堆反向端口(Fedora 8,是的,我知道......).不,我无法更改操作系统或python版本,我不能,没有很大的问题,重新编译python.我只需要为一个客户构建一个C扩展,其中一个客户的环境是唯一的一个segfaulting.
我正在尝试安装包含C模块的Python模块.C代码依赖于系统的全局安装位置(/ usr/include,/ usr/lib)中可用的库,但在我的情况下,我只有本库的本地安装可用.因此,我想在调用"setup.py build"时传递参数(例如, - incdir, - libdir),以便这些值最终出现在安装脚本中.
有没有办法实现这个目标?