python代码加密运行_在linux下安装pyconcrete加密python代码

本文介绍了如何在Linux环境下安装并使用PyConcrete库对单个和批量Python文件进行加密,包括下载、配置、加密操作和调用加密后的文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 下载pyconcrete安装包

百度云链接下载

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

提取码:e9b1

或者

github链接下载

https://github.com/Falldog/pyconcrete

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1NlY29uZFJvdW5kOTM=,size_16,color_FFFFFF,t_70

2. 安装pyconcrete

将pyconcrete-master.zip放在linux环境下, 并解压缩

我用的是Ubuntu 64位 18

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1NlY29uZFJvdW5kOTM=,size_12,color_FFFFFF,t_70

进入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

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1NlY29uZFJvdW5kOTM=,size_12,color_FFFFFF,t_70

emmm…装完有个报错,原因不明,但暂不影响后面的使用,先忽略了…>_<

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1NlY29uZFJvdW5kOTM=,size_12,color_FFFFFF,t_70

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

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1NlY29uZFJvdW5kOTM=,size_12,color_FFFFFF,t_70执行后,加密完成

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1NlY29uZFJvdW5kOTM=,size_12,color_FFFFFF,t_70

或者将安装好的pyconcrete包拷贝(进入安装路径把pyconcrete文件夹,pyconcrete-0.12.1-py3.7.egg-info文件,pyconcrete-admin.py文件拷贝)到待加密文件的同级目录下,也可以加密

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1NlY29uZFJvdW5kOTM=,size_12,color_FFFFFF,t_70

4.对某个目录下的python文件批量加密

待加密的文件夹放在前面安装的文件夹下,执行shell脚本加密

比如我待加密的文件夹是mypy,放在my_code目录下

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1NlY29uZFJvdW5kOTM=,size_12,color_FFFFFF,t_70

用命令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脚本

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1NlY29uZFJvdW5kOTM=,size_12,color_FFFFFF,t_70

这样mypy文件夹下的文件加密完成了

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1NlY29uZFJvdW5kOTM=,size_12,color_FFFFFF,t_70

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

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1NlY29uZFJvdW5kOTM=,size_12,color_FFFFFF,t_70

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值