一、准备环境
终端运行以下指令,下载相关依赖项
$ sudo apt install python3-dev gcc
$ pip3 install cython
二、调用Cython库包把python的.py文件生成.so文件
2.1 准备三个.py文件
-
1)源码.py文件:Sunrise_set.py
-
2)把源码 .py文件生成**.so文件**,使用上面的setup.py
-
3)调用生成**.so文件**:so_Sunrise_set.py
2.2 调用Cython库把.py源码生成.so文件
1)、使用setup.py脚本把源码.py生成.so文件,setup.py:
2)、生成.so文件:
python3 setup.py build_ext
生成之后的目录结构为:
.so文件已经生成,同时还生成了.c的源码文件,以及.o的中间代码文件
3)、删除源码,通过so_Sunrise_set.py接口调用.so文件,把.so文件移到当前目录
可以发现,此时依然可以通过.so文件对test.py源码中定义的代码进行调用,但是我们并不知道源码中具体的实现方式,实现了对.py源码文件的加密!



