因此,我尝试发布一个专有的 python 包,并使用
pyarmor
包对其进行混淆,然后在 PyPi
上发布混淆后的版本。它在相同的 python 版本环境中工作,但是正如 packaging-obfuscated-scripts 中提到的,它依赖于版本,不能使用任何较旧或较新的 python 版本运行。
我有一个相当重的包,有什么办法可以解决这个问题(避免使用不同的 python 版本构建和维护包)?
编辑:如果没有按照文档中所述,是否还有其他方法可以实现此目的?
不幸的是没有。
在幕后,
pyarmor
在“混淆”包内创建了一个CPython扩展模块。扩展模块与特定的解释器 ABI 相关联,并且需要针对 CPython 的不同次要版本(即 3.10、3.11、3.12 等)单独编译。
问题中链接的文档中提到了这一点:
“当使用 Python 3.8 混淆脚本时,它们无法通过 Python 3.7、3.9 等运行。”