0
我已经发布了一个python包的新版本来pypi而不更改C扩展名。由于我只更改了Python代码而不是C代码,因此如何打包我为多个平台编译的共享库而无需重新编译?如何将未更改的C扩展打包为新Python包的一部分?
我已经发布了一个python包的新版本来pypi而不更改C扩展名。由于我只更改了Python代码而不是C代码,因此如何打包我为多个平台编译的共享库而无需重新编译?如何将未更改的C扩展打包为新Python包的一部分?
作为一个所谓的 'somelib' 与编译库中两个子目录,LIB-i386和LIB-AMD64库的示例:
MANIFEST.in包含以下内容:
include __init__.py
include setup.py
include somelib/*
include somelib/lib-i386/*
include somelib/lib-amd64/*
setup.py包含(我省略非本质的版本问题行):
# Determine machine arhitecture
arch = os.uname()[4]
libname = "lib-%s" % (arch,)
lib_files = glob.glob('./somelib/' + libname + '/*')
data_files = [('somelib',
lib_files + ['__init__.py', 'somelib/README.TXT']),]
setup(
...
data_files=data_files
)
所有的库对象是在包装内,但只有具体到“拱”的那些被安装。
HTH。