一般问题: 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安装程序包装的样子:
您可以看到,而不是放入$ _OUTDIR,sip.pyd转到Lib\site-packages.