gpt4 book ai didi

python - 如何从 distutils 二进制发行版中剥离源代码?

转载 作者:太空狗 更新时间:2023-10-29 20:48:29 24 4
gpt4 key购买 nike

我想从 distutils 创建一个仅字节码的发行版(不,我想;我知道我在做什么)。使用 setuptools 和 bdist_egg 命令,您可以简单地提供 --exclude-source 参数。不幸的是,标准命令没有这样的选项。

  • 有没有一种简单的方法可以在创建 tar.gz、zip、rpm 或 deb 之前剥离源文件。
  • 是否有一种相对简洁的按命令执行此操作的方法(例如,仅针对 tar.gz 或 zip)。

最佳答案

distutils“build_py”命令是重要的命令,因为它被所有创建发行版的命令(间接)重用。如果你覆盖 byte_compile(files) 方法,像这样:

try:
from setuptools.command.build_py import build_py
except ImportError:
from distutils.command.build_py import build_py

class build_py(build_py)
def byte_compile(self, files):
super(build_py, self).byte_compile(files)
for file in files:
if file.endswith('.py'):
os.unlink(file)

setup(
...
cmdclass = dict(build_py=build_py),
...
)

您应该能够做到这一点,以便源文件在被复制到“安装”目录(当 bdist 命令调用它们时是一个临时目录)之前从构建树中删除。

注意:我没有测试过这段代码; YMMV.

关于python - 如何从 distutils 二进制发行版中剥离源代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3440016/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com