如何从setuptools将文件安装到site-packages(而不是package子文件夹)?

 卢-lydia09 发布于 2023-01-31 12:18

一般问题: setuptools中是否有一种方法可以在前缀\ Lib\site-packages目录中安装dll?

我的特殊需求: PyQt5没有为Python2.7提供二进制安装程序,所以我是从源代码构建的,为了方便起见,我想打包结果.官方安装程序将sip.pyd放在前缀\ Lib\site-packages中,我希望保持一致.但我不确定如何.看来我可以使用py_modules或ext_modules来定义我希望模块去的地方,但我无法弄清楚如何使用.pyd文件.

我担心Windows,但我认为如果有一个setuptools解决方案,它将是平台独立的.如果重要,我正在尝试部署为轮(.whl)文件.

这就是我所拥有的:

from setuptools import setup, find_packages, Extension

setup(name='PyQt5',
      version='5.2',
      packages=find_packages(),
      package_data = {"PyQt5":["*.pyd","uic/widget-plugins/*.py"]},
      include_package_data=True,
      scripts=["sip.exe"],
      #ext_modules=[Extension("sip.pyd", ["sip.pyd"])], # <- this isn't working
      headers=["sip.h"],
      classifiers=[
        'Operating System :: Microsoft :: Windows',
        'License :: OSI Approved :: GNU General Public License (GPL)',
      ],
      )

我很清楚,这就是PyQt4安装程序包装的样子: PyQt4安装程序结构

您可以看到,而不是放入$ _OUTDIR,sip.pyd转到Lib\site-packages.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有