文档章节

Python工程的编译、合并、打包、发布

八风不动
 八风不动
发布于 2017/03/21 23:48
字数 175
阅读 4.2K
收藏 0

精选30+云产品,助力企业轻松上云!>>>

确保要发布的包(demo)的根目录中有__main__.py文件,这个是程序执行入口。

编译

python3 -O -m compileall demo

批量改名.pyc文件

 find . -name '*.pyc' -exec rename 's/.cpython-35.opt-1//' {} \;

移动.pyc文件

find . -name '*.pyc' -execdir mv {} .. \;

清理.py文件

find . -name '*.py' -type f -print -exec rm {} \;

清理__pycache__文件夹

find . -name '__pycache__' -exec rmdir {} \;

打包成zip

zip -r pub.zip ./demo/*

 运行时只要将zip文件作为参数即可

python3 pub.zip

 

最终整合脚本

cd $1
python3 -O -m compileall .
find . -name '*.pyc' -exec rename 's/.cpython-35.opt-1//' {} \;
find . -name '*.pyc' -execdir mv {} .. \;
find . -name '*.py' -type f -print -exec rm {} \;
find . -name '__pycache__' -exec rmdir {} \;
zip -r ../$1.zip ./*

调用方式 

chmod +x pycompile.sh
./pycompile.sh demo

 

八风不动

八风不动

粉丝 35
博文 39
码字总数 11757
作品 2
天津
架构师
私信 提问
加载中
请先登录后再评论。
python pyrex windows 编译C可执行文件

python写成py文件经过处理转化成pyx文件,以及函数说明文件pyi使用pyrexc.py编译成对应模块的c和h文件 然后写一个main的cpp文件,使用cmake产生vs工程,使用incredBuild编译工程。 以下是一个...

悠米海
2012/09/25
642
0
Python的3个主要缺点及其解决方案,80%的人都不会

Python 问世至今已经三十年左右了,但其仅在过去几年人气迅速飙升超过了除 java 和 C 以外的其他语言。总的来说,Python 已经成为教学、学习编程和软件开发的优秀起点,而且其可以成为任何技...

osc_jpwyxabk
05/12
13
0
使用python创建生成动态链接库dll

如今,随着深度学习的发展,python已经成为了深度学习研究中第一语言。绝大部分的深度学习工具包都有python的版本,很多重要算法都有python版本的实现。为了将这些算法应用到具体工程中,这些...

osc_9fryb40x
2018/07/27
1
0
Python 包管理和 virtualenv 环境

Python 第三方模块,通常以 Python 包方式进行发布。我们通过对这些包的管理,实现安装、卸载 Python 的第三方模块。 常见包格式 Python 包常采用源代码、egg、wheel 和 Windows 安装文件等格...

巴别塔工人
2014/11/27
199
0
Python 包发布

1、注册 Pipy 账号 https://pypi.org/account/register/ 2、安装 twine 3、在 python 工程下添加 示例: 4、打包 python 工程 5、发布 python 工程到 Pipy...

Anoyi
2019/08/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

define()与const - define() vs. const

问题: In PHP, when do you use 在PHP中,何时使用 define('FOO', 1); and when do you use 以及何时使用 const FOO = 1; ? ? What are the main differences between those two? 两者之......

法国红酒甜
今天
26
0
将Node.js升级到最新版本 - Upgrading Node.js to latest version

问题: So, I have Node.js installed and now when I tried to install Mongoosejs I got an error telling me that I don't have the needed version of Node.js (I have v0.4.11 and v0.4......

javail
今天
17
0
等到所有jQuery Ajax请求都完成了吗? - Wait until all jQuery Ajax requests are done?

问题: How do I make a function wait until all jQuery Ajax requests are done inside another function? 我如何让一个函数等到所有jQuery Ajax请求都在另一个函数中完成之后? In short...

富含淀粉
今天
17
0
OSChina 周日乱弹 —— 那么长的绳子,你这是放风筝呢

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @ 巴拉迪维:黑豹乐队的单曲《无地自容》 耳畔突然响起旋律,是那首老歌。中国摇滚有了《一无所有》不再一无所有;中国摇滚有了《无地自容》不...

小小编辑
今天
79
1
《吐血整理》-顶级程序员书单集

你知道的越多,你不知道的越多 给岁月以文明,而不是给文明以岁月 前言 王潇:格局决定了一个人的梦想,梦想反过来决定行为。 那格局是什么呢? 格局是你能够看见的深度、广度和密度。 王潇认...

敖丙
2019/12/11
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部