2010-04-29 14 views

回答

2

,您仍然可以導出正確的LDFLAGS/CFLAGS做你pyximport.install()之前:

from os import environ 
environ['CFLAGS'] = '-I/path/to/my/custom/lib' 
environ['LDFLAGS'] = '-Lpath/to/my/custom/lib -lcustomlib' 
import pyximport 
pyximport.install() 

但是,pyximport只能在調試的情況下使用。選擇setup.py方法!

+0

不是我驗證,但希望在放棄這一切之前,我會有這個。 – Will 2011-03-02 13:14:10

+0

關於setup.py,我傾向於認爲pyximport對我來說比setup.py更適合開發和調試代碼。 – Will 2011-03-02 13:15:52

3

您還可以使用.pyxbld文件指定構建標誌。

例如,如果你正在試圖建立yourmodule.pyx,只要把在同一目錄下yourmodule.pyxbld文件作爲PYX文件:

def make_ext(modname, pyxfilename): 
    from distutils.extension import Extension 
    ext = Extension(name = modname, 
     sources=[pyxfilename], 
     extra_compile_args=['-I/path/to/my/custom/lib'], 
     extra_link_args=['-Lpath/to/my/custom/lib', '-lcustomlib']) 
    return ext 

def make_setup_args(): 
    return dict(script_args=["--verbose"])