导航首页 » 教程笔记 » 在linux下安装pyconcrete加密python代码
在linux下安装pyconcrete加密python代码

1. 下载pyconcrete安装包

百度云链接下载

链接:https://pan.baidu.com/s/1H7MQPL4d3wOi0K6D5hRtOA

提取码:e9b1

或者

github链接下载

https://github.com/Falldog/pyconcrete

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, 可以正常运行