使用python模块分发预构建的库

使用python模块分发预构建的库,第1张

概述我使用以下脚本来分发包含纯 python代码的模块. from distutils.core import setup, Extensionimport ossetup (name = 'mtester', version = '0.1', description = 'Python wrapper for libmtester', packages= 我使用以下脚本来分发包含纯 python代码的模块.

from distutils.core import setup,Extensionimport ossetup (name = 'mtester',version = '0.1',description = 'Python wrapper for libmtester',packages=['mtester'],package_dir={'mtester':'module'},)

我遇到的问题是,我修改了一个使用外部库(.so文件)的文件,我需要将其与现有模块一起发布.我被建议使用package_data来包含库.我将脚本修改为以下内容.

from distutils.core import setup,Extensionimport osdata_dir = os.path.abspath('../lib64/')setup (name = 'mtester',package_data={'mtester':[data_dir+'mhelper.so']},)

问题是,添加package_data没有任何区别.这不是在任何位置安装mhelper.so(既不在site-packages中也不在site-packages / mtester中).

系统信息:Fedora 10,64位,python 2.5(是的,它很古老.但它是我们的构建机器,它需要保持这种方式来保持向后兼容性)

任何有助于我解决这个问题的建议都将受到赞赏!

解决方法 不幸的是,package_data会查找相对于包顶部的文件.一个解决方法是使用其余代码移动模块目录下的帮助程序库:

% mv lib64/mhelper.so module/

然后相应地修改package_data参数:

package_data = {'mtester': ['mhelper.so']}...

然后测试:

% python setup.py bdist% tar tf dist/mtester-0.1.linux-x86_64.tar.gz | grep mhelper./usr/local/lib/python2.5/dist-packages/mtester/mhelper.so
总结

以上是内存溢出为你收集整理的使用python模块分发预构建的库全部内容,希望文章能够帮你解决使用python模块分发预构建的库所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1196513.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存