如果要想把自己使用python写的程序发送给别人,但又不想让对方看到源码,可以打包成exe程序,但是最安全的应该是将py源文件编译一下,生成为二进制文件,后缀名为pyd;
以上针对windows。linux系统编译后应该为so文件;
在windows上以python3.8环境为例:
- 首先写一段简单的python代码用于测试
伪代码如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# cython: language_level=3
'''
加密py代码,变成pyd文件
'''
def limitTime():
import time,sys
now = time.localtime()
hour = now.tm_hour;
print(hour)
if hour > 15 or hour < 9:
print('当前时间不可以运行程序')
sys.exit()
其中主要是第三行代码 # cython: language_level=3,表示是在Python3环境进行编译的。
- 安装easycython库
如果你电脑上已经安装有了pip,那就使用如下命令安装即可;
pip install easycython
如果没有,需要先安装pip;
pip 是 Python 的包安装程序。其实,pip 就是 Python 标准库(The Python Standard Library)中的一个包,只是这个包比较特殊,用它可以来管理 Python 标准库(The Python Standard Library)中其他的包。pip 是一个命令行程序。 安装 pip 后,会向系统添加一个 pip 命令,该命令可以从命令提示符运行。
- 编译python文件
进行源文件所在文件夹,打开命令行窗口,执行命令
easycython *.py
若执行没有错误,则会生成一个.c文件。pyd文件和html文件
html文件内容如下:
以上文件,只需要保留pyd文件即可;其他的文件都可以删除了
- 使用编译后的pyd文件:
使用pyd文件和释义py文件是一样的,在需要的时候直接导入模块即可;