教你用python 编译pyc文件,一键生成压缩包

教你用python 编译pyc文件,一键生成压缩包

pyc文件是py文件编译后生成的字节码文件(byte code)。
pyc文件经过python解释器最终会生成机器码运行。
所以pyc文件是可以跨平台部署的,类似Java的.class文件。
一般py文件改变后,都会重新生成pyc文件。
对于为什么要生成pyc文件,主要是不想把源代码暴露出来。
这里教你如何将python工程一键生成可以部署pyc压缩包。
#!/bin/bash
version="0.0.1"
NAME="project-name"

PYTHON_HOME="/root/anaconda3/envs/nlp/bin"
APP_HOME="/path/"$NAME
OUT_HOME="/path_out/"

### 删除 compile 脚本,及git 目录
rm -rf  ${APP_HOME}/compile.sh
rm -rf  ${APP_HOME}/.git*

mkdir -p ${OUT_HOME}

if [ ! -d $APP_HOME ];  then
  echo $APP_HOME "empty!"
else
  echo $APP_HOME "not empty! then compile and remove .py"
  $PYTHON_HOME/python -O -m compileall $APP_HOME
  cd $APP_HOME

  find . -name '*.pyc' -exec rename .cpython-36.opt-1 '' {} \;
  find . -name '*.pyc' -execdir mv {} .. \;
  find . -name '*.py' -type f -print -exec rm {} \;
  find . -name '__pycache__' -exec rmdir {} \;

###   打包父目录###
  cd ..
  if [! -d $NAME-$version]; then
    mkdir -p $NAME-$version
  fi

  cp -r $NAME $NAME-$version

  zip -r $OUT_HOME/$NAME-$version.zip "$NAME-$version"
  rm -rf $NAME
fi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值