首页 > 解决方案 > Setup.py、、setuptools、cmdclass - 自定义命令不起作用

问题描述

我正在尝试在安装包时创建一个目录。创建目录的函数本身成功地创建了它。此外,当我运行“python3.7 setup.py install”时,会创建目录。

为什么这在使用 pip 时不起作用?我没有看到任何错误。当我添加打印语句时,我看不到它们。

我选择使用 setuptools 的 'bdist_egg' 函数而不是 'install' 函数,原因如下:

在安装期间运行自定义 setuptools 构建

from sys import platform
from setuptools import setup
from os import mkdir, chmod, path
from setuptools.command.bdist_egg import bdist_egg as _bdist_egg

class OverrideInstall(_bdist_egg):

    def run(self):
        _bdist_egg.run(self)

        # create log directory
        log = "/var/log/FOO"
        mode = 0o777
        if not path.exists(log):
            mkdir(log)
            chmod(log, mode)

setup(
    name='cox-nams',
    version='FOO',
    description='FOO',

    <-- output omitted for brevity / security>

    cmdclass={"bdist_egg": OverrideInstall},
)

标签: pythonpipsetuptools

解决方案


pip install 显然不支持。


推荐阅读