我正在编写一个*.pyc
在 Python 3.3 下加载字节编译文件的应用程序。我正在分发*.pyc
没有相应*.py
文件的文件以(尝试)保护我的源代码。(是的,如此处所述,尝试通过字节编译 Python 来阻止反编译并不是最安全的选择,但如果我发现需要,我总是可以添加其他代码安全措施。)
但是,我发现 Python 不会在*.pyc
没有原始*.py
文件的情况下加载文件。(根据PEP 3147,*.pyc
文件保存在文件__pycache__
所在目录中的一个子目录中*.py
。我使用自己的代码遵循此约定。)
在我使用 Python 2.7 的项目的早期迭代中,我对 Python 源代码进行了字节编译,并将生成的*.pyc
文件放在与文件相同的目录中*.py
;效果很好。显然,Python 查找__pycache__
文件夹的方式存在问题。我究竟做错了什么?(是的,我已经适当地设置了;否则当我将它作为调试措施插入时sys.path
它不会找到该文件。)*.py