Dra*_*mon 8 python distutils bytecode
我想从distutils创建一个只有字节码的发行版(不是真的,我这样做;我知道我在做什么).使用setuptools和bdist_egg命令,您只需提供--exclude-source参数即可.不幸的是,标准命令没有这样的选项.
PJ *_*Eby 11
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),
...
)
Run Code Online (Sandbox Code Playgroud)
您应该能够创建它,以便在将源文件复制到"install"目录(当bdist命令调用它们时是临时目录)之前从构建树中删除它们.
注意:我没有测试过这段代码; 因人而异.