我的pyx依賴於本機庫Python:pyximporting一個依賴於本機庫的pyx
我怎樣才能pyximport.install()
呢? pyxinstall中的自動構建不知道是否與本機庫鏈接,因此構建失敗...
我的pyx依賴於本機庫Python:pyximporting一個依賴於本機庫的pyx
我怎樣才能pyximport.install()
呢? pyxinstall中的自動構建不知道是否與本機庫鏈接,因此構建失敗...
,您仍然可以導出正確的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方法!
您還可以使用.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"])
不是我驗證,但希望在放棄這一切之前,我會有這個。 – Will 2011-03-02 13:14:10
關於setup.py,我傾向於認爲pyximport對我來說比setup.py更適合開發和調試代碼。 – Will 2011-03-02 13:15:52