代码加密运行"/>
python代码加密运行
1. 下载pyconcrete安装包
百度云链接下载
链接:
提取码:e9b1
或者
github链接下载
2. 安装pyconcrete
将pyconcrete-master.zip放在linux环境下, 并解压缩
我用的是Ubuntu 64位 18
进入pyconcrete-master文件夹下, 执行命令
python setup.py install --install-lib=本地安装路径 --install-scripts=本地安装路径
比如我是
python setup.py install --install-lib=/home/cxg/my_code --install-scripts=/home/cxg/my_code
安装过程需要输入secret_key
emmm…装完有个报错,原因不明,但暂不影响后面的使用,先忽略了…>_<
3.对单个python文件加密
待加密的文件放在前面安装的文件夹下,
执行命令python pyconcrete-admin.py compile --source=待加密文件名.py --pye --remove-py
比如我待加密的文件是test.py
在my_code目录下执行命令
python pyconcrete-admin.py compile --source=test.py --pye --remove-py
执行后,加密完成
或者将安装好的pyconcrete包拷贝(进入安装路径把pyconcrete文件夹,pyconcrete-0.12.1-py3.7.egg-info文件,pyconcrete-admin.py文件拷贝)到待加密文件的同级目录下,也可以加密
4.对某个目录下的python文件批量加密
待加密的文件夹放在前面安装的文件夹下,执行shell脚本加密
比如我待加密的文件夹是mypy,放在my_code目录下
用命令touch crt_pye.sh创建一个shell脚本,添加以下内容:
(最好用vim 的insert, 如果在windows下写好文件拷到linux下,有可能会因为编码问题无法使用)
#!/bin/bash
for file in ./*
do
if [ -d "$file" ]
then
echo "$file is dir"
if [ "pyconcrete" == `basename $file` ]
then
echo "$file is dir and not need compile"
else
python pyconcrete-admin.py compile --source=$file --pye --remove-py --remove-pyc
echo "$file encrypt success"
fi
elif [ -f "$file" ]
then
echo "$file is file"
fi
done
用命令chmod 700 crt_pye.sh给shell脚本加可执行权限
输入命令./crt.sh执行shell脚本
这样mypy文件夹下的文件加密完成了
5.未加密的.py文件调用加密后的.pye文件
未加密的的.py如果需要调用加密后的.pye,需要在.py文件添加
import pyconcrete
比如call_func.py脚本未被加密,其中import了gen_pd_date_range,
call_func.py代码如下:
import pandas as pd
import numpy as np
import datetime
import warnings
warnings.filterwarnings("ignore")
#需引入pyconcrete
from pyconcrete import *
#mypy.gen_pd_date_range是pye文件
from mypy.gen_pd_date_range import *
start_date, end_date = '2019-02-01', '2019-10-31'
print(gen_pd_date_range(start_date, end_date))
执行call_func.py, 可以正常运行
更多推荐
python代码加密运行
发布评论