Python包与pywin32或pypiwin32依赖

时间:2017-10-03 10:39:27

标签: python setuptools pywin32

我正在构建一个需要pywin32的python包。

添加pywin32作为依赖项不能无缝地工作,因为它有一个用户必须自己运行的安装后脚本。

添加pypiwin32作为依赖项不起作用,因为我的包不能与其他需要pywin32的包一起使用

我试过要求两者,但事实证明pywin32和pypiwin32不能在同一个python安装上共存

有没有办法指定pywin32或pypiwin32作为依赖?还是其他一些解决方案?

1 个答案:

答案 0 :(得分:0)

adding pip install pywin32 as a post-install script有效,但是从安装程序中删除了install_requires命令。要解决此问题,add do_egg_install(self) rather than run in the classes

app.get('/items', (req, res, next) => {
    const limit = req.query.limit || 3500;
    topItemModel.find({})
       .sort("-someSortingKey")
      .limit(limit)
      .exec()
      .then(data => {
        res.status(200).send(JSON.stringify(data));
      }).catch((err) => next(err));
  });

并将cmdclass参数插入setup.py中的setup()函数:

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)