使用Sphinx时,您是否应该提交environment.pickle



我正在使用Sphinx生成一些文档,并将构建的文档发布在git存储库中。构建目录中的一个文件名为environment.pickle,似乎是二进制格式,即不是明文。这个文件是什么?提交时应该包括它吗?

Pickle文件是Python使用的一种二进制序列化格式。它们可以用于将Python对象序列化为二进制形式,然后再对其进行非序列化。根据Python文档:,您永远不应该分发pickle文件,因为不受信任的pickle可以在反序列化期间执行任意代码

有可能构建恶意pickle数据,这些数据将在取消pickle期间执行任意代码。永远不要解开可能来自不可信来源或可能被篡改的数据。

通常,任何能够序列化和反序列化任意对象的对象格式都不能用于不受信任的数据,因为这些对象的构造函数和析构函数可以用来执行任意代码。由于没有人可以安全地使用这些pickle文件,因此没有理由分发它们。

一般来说,您也不应该将Git用于构建工件,例如构建文档。构建工件通常是二进制的,而且很大,在Git中处理这些类型的对象很难。此外,您可能对保留每个构建工件的整个历史不感兴趣,因为您可以从源代码中重新生成它们。这样的对象的Git存储库会很快变得臃肿。

使用不同的部署格式(如tarball(会更好。您还没有告诉我们您将在哪里部署这些更改,因此我们无法为您提供有关如何部署此构建文档的更好建议。

相关内容

  • 没有找到相关文章

最新更新