2012-09-07 130 views
0

我有一个使用几个PY文件的程序。代码完美工作,直到我使用PY文件。然而,当我删除了PY文件,并只保留PYC文件的程序加密失败消息: 导入错误:没有模块名为abc的我可以只使用PYC文件吗

任何想法/想法,为什么Python不喜欢PYC这里的时候everyting是与PY文件一起工作良好?

+0

也许所有的pyc文件都没有生成。 – monkut

+2

“用于加密时,我删除PY文件,只保留PYC文件”这是...不是如何完成的。 pyc文件不仅仅是py文件的加密版本。 – BoltClock

+0

感谢您的想法。事实上,我并没有删除所有PY文件,只有一些应该被加密。这是否意味着如果我使用pyc,我会丢失一些数据?有什么想法可以为我的目的生成所需的pyc? – user741592

回答

2

.pyc文件包含字节编译的python。这些可以重新编译成非常易读的python代码,并不能保护研究源代码的人员。

如果你想利用这一点,你需要确保所有文件编译,使用:

python -m compileall /path/to/package 

去除.py源文件之前。

+0

道歉,但这并没有帮助。编译过程是否会以某种方式扭曲PYC文件中的信息,导致python无法读取? – user741592

+1

@ user741592:否;编译过程使得python可以读取更多*信息;内部表示(字节码)存储在它们中。只是这种表示可以相对容易地转换回人可读的Python源代码。 –

相关问题