您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何从现有的本机库制作Python Wheel?

如何从现有的本机库制作Python Wheel?

:根据ThomasD的建议,对车轮的更新版本进行了更新。

这是一种方法。例如,它使用libeay32.dll公开md5程序包。

项目结构为:

MD5
│   setup.py
│
└───md5
    __init__.py   
    libeay32.dll

setup.py是:

from setuptools import setup, Distribution


class BinaryDistribution(Distribution):
    def has_ext_modules(foo):
        return True


setup(
    name='md5',
    version='1.0',
    description='MD5 Library',
    packages=['md5'],
    package_data={
        'md5': ['libeay32.dll'],
    },
    distclass=BinaryDistribution
)

需要注意的几件事:

Python ctypes代码可以相对于自身加载DLL(此代码位于中__init.py__):

lib_path = os.path.join(os.path.dirname(__file__), 'libeay32.dll')
lib = CDLL(lib_path)

用pip安装“ wheel”后,我可以运行python setup.py bdist_wheel生成dist \ md5-1.0-cp34-none- win32.whl。我碰巧正在使用cpython 3.4,但是如果您想要通用轮子,则可以添加setup.cfg这样的一个

现在,我可以创建并激活一个新的虚拟环境,点安装md5-1.0-cp34-none-win32.whl,并使用我的软件包:

>>> import md5
>>> md5.digest('hello')
'8d11aa0625ce42cfe9429d5e93b5ab0a'
python 2022/1/1 18:25:48 有557人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶