我正在构建一个需要pywin32的python包。
将pywin32添加为依赖项并不能无缝工作,因为它有一个安装后脚本,用户必须自己运行该脚本。
将pypiwin32添加为依赖项不起作用,因为我的包不能很好地处理其他需要pywin32的包
我试着同时需要这两个,但是事实证明pyWi32和pypyWi32不能在同一个Python安装上共存。
有没有办法将pywin32或pypiwin32指定为依赖项?或者其他解决办法?
最佳答案
adding pip install pywin32 as a post-install script可以工作,但从安装程序中删除install_requires命令。要解决这个问题,add do_egg_install(self) rather than run in the classes
from setuptools import setup
from setuptools.command.develop import develop as _develop
from setuptools.command.install import install as _install
from subprocess import check_call
# PostDevelopCommand
class develop(_develop):
"""Post-installation for development mode."""
def run(self):
check_call("pip install pywin32")
develop.do_egg_install(self)
# PostInstallCommand
class install(_install):
"""Post-installation for installation mode."""
def run(self):
check_call("pip install pywin32")
develop.do_egg_install(self)
并将cmdclass参数插入setup.py中的setup()函数:
setup(
...
cmdclass={
'develop': develop,
'install': install,
},
...
)
关于python - 具有pywin32或pypiwin32依赖关系的Python包,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46542657/