柯南包管理器 - 如何在柯南安装期间删除文件夹?

Conan package manager - how to remove folders during conan install?

我有本地conanfile.py消费一个包,包已经位于本地缓存(~/.conan/)。

conanfile.py 中有一个 imports() 函数,我在其中将一些文件从包中复制到我的构建文件夹中。 我在不同目录中有两个同名文件,我将它们复制到同一目录并重命名其中一个。

在我这样做之后,我留下了一个我想删除的空目录,但无法从 conanfile.py 中找到这样做的方法,每次尝试似乎都是在文件获取之前删除文件夹运行。我的导入如下所示:

class SomeConanPkg(ConanFile):
    name = "SomeName"
    description = "SomeDesc"
    requires = (
        "SomePkg/1.0.0.0@SomeRepo/stable")        

    def imports(self):
        # copy of 1st file
        self.copy("somefile.dll", src=os.path.join("src"), dst=os.path.join(build_dest))
        # copy of 2nd file to nested directory
        self.copy("somefile.dll", src=os.path.join("src", "folder"), dst=os.path.join(build_dst, "folder"))
        # move and rename the file to parent directory
        shutil.copy2(os.path.join(build_dst, "folder", "somefile.dll"), os.path.join(build_dst, "renamed_file.dll"))
        # now build_dst/folder is an empty directory

我曾尝试使用 conan tools.rmmdir() 或只是调用 shutil.rmmtree(),但在文件被复制之前,它们似乎都 运行。 我还尝试添加一个 package()deploy() 成员函数并在内部执行删除,但这些方法似乎根本 运行 (通过调试打印验证)。

有什么想法吗?

我结束了我们在包创建方面解决它。 根据需要重命名文件,然后使用它们