了解 Python 的都知道 Pyinstaller 能够将 .py
文件打包成 windows 下可执行的 .exe
文件, 可是在咱们不想让他人反编译获取源码的时候就显得无能为力, 此时咱们能够了解 .pdy
文件。python
pyc
是二进制文件, 是由 Python 编译器进行编译后生成的文件, 加载速度快。pyo
是优化编译后的二进制文件, 能够经过 python -O file.py
生成。pyd
则是 Python 的动态连接库, 由其余语言编写。windows
那 .pyd
可不能够反编译呢?函数
这是文档上的一段描述, .pyd
由 C 或者 C++ 编译组成, 至于它是否彻底不可反编译, 我相信是不可能的, 仅是加大了反编译的难度。优化
你须要安装 Cython
以及 pyinstaller
两个扩展包做为依赖。 Docsui
main_code.py
文件中, 建议提供入口函数 main()
build.py
代理并键入如下内容:from distutils.core import setup
from Cython.Build import cythonize
setup(
name='随你写什么',
ext_modules=cythonize([
"main_code.py", # 你的主要代码封装文件名
])
)
复制代码
python3 build.py build_ext --inplace
生成 .pyd
文件.pyd
为 main_code.pyd
run.py
并键入如下内容:from main_code import *
if __name__ == '__main__':
main()
复制代码
此时你能够尝试修改 main_code.py
成别的名字, 并运行 run.py
文件, 你会发现运行正常。pyinstaller -D -i xxx.ico -w run.py
最后你会发现你的代码中没有 .pyc
的主要逻辑代码。spa
为了使用打包的时候使用 -D
而不使用 -F
?代理
在生成惟一 .exe
文件后执行速度过慢, 固然我仅仅是推荐, 你能够使用任何自定义的方式编译你想要的效果。code
点个赞呗~cdn