Python 进阶
Python 协程实现原理
dict 和 set 实现原理
Python 线程安全
Python 抽象语法树(AST)
Python 日志输出
Python 扩展入门(一)
Python 程序执行原理
Python 垃圾回收
Python 动态创建类
检查工具
PyFrameObject
yield 生成器工作原理
dict 设计与实现
Python 性能分析原理
PyCodeObject
Python 弱引用
Python 性能分析原理(二)
Python 源码分析(一)
Python Annotated
Python 依赖注入
python freelist
python代码编译成pyc
Python mmap 内存映射文件
Python值得学习的内容
async Future 对象
asyncio loop的实现
asyncio.sleep 的实现
asyncio 原理
Python 代码加密
Python Token类型
Python 扩展入门(二)
Python 性能优化
本文档使用 MrDoc 发布
-
+
首页
python代码编译成pyc
使用 `compileall`命令可以将项目的python代码编译成pyc文件。 使用方法: ``` python -m compileall src/ # 指定目录 python -m compileall . # 当前目录 ``` 编译后的字节码文件默认保存在`__pycache__`目录中,文件名会包含Python版本和优化级别。 下面是python -m compileall命令的各个参数的详细介绍: ### 常用参数 `-l, --lib` 限制编译操作只在指定目录的顶级(不递归子目录); `-b, --bypass-cache` 生成的.pyc文件将被放置在源文件同一目录下,而不是默认的__pycache__目录下; `-d DESTDIR, --destdir=DESTDIR` 将.pyc文件的根目录更改为DESTDIR。这对于在不同目录结构中预编译文件很有用; `-x REGEX, --exclude=REGEX` 排除符合正则表达式REGEX的文件或目录; `-q, --quiet` 减少输出。可以使用两次来进一步减少输出; `-i FILE, --list-file=FILE` 从FILE文件读取要编译的文件和目录列表; `-j PROCESSES, --workers=PROCESSES` 用PROCESSES个进程来并行编译。默认值为0,表示使用CPU的核心数; `--invalidation-mode={timestamp,checked-hash,unchecked-hash}` 设置.pyc文件的失效模式。这会影响Python如何判断字节码是否过期。timestamp(默认)依赖于源文件的修改时间,checked-hash和unchecked-hash依赖于源文件的内容哈希,但处理方式不同; `-o OPTIMIZATION_LEVELS, --optimize=OPTIMIZATION_LEVELS` 设置优化级别。可以是0(无优化),1(删除断言)或2(进一步优化)。可以指定多个级别; `-f, --force` 强制编译所有文件,即使它们没有更新也重新编译; `-r, --recurse` 如果指定了目录,递归到子目录中去编译。在Python 3.5及以后版本中,默认就是递归的; `--strip-dir=STRIP_DIR` 在编译时从文件的路径中去除STRIP_DIR前缀。这对于改变模块的导入路径很有用; `--prepend-dir=PREPEND_DIR` 在编译时给文件路径添加PREPEND_DIR前缀。这同样用于修改模块的导入路径; `--hardlink-dupes` 对于相同内容的.pyc文件,使用硬链接代替复制,以节省空间; `--path=PATH` 指定模块搜索路径,这影响到编译过程中模块的解析;
gaojian
2024年4月8日 14:29
分享文档
收藏文档
上一篇
下一篇
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
关于 MrDoc
觅思文档MrDoc
是
州的先生
开发并开源的在线文档系统,其适合作为个人和小型团队的云笔记、文档和知识库管理工具。
如果觅思文档给你或你的团队带来了帮助,欢迎对作者进行一些打赏捐助,这将有力支持作者持续投入精力更新和维护觅思文档,感谢你的捐助!
>>>捐助鸣谢列表
微信
支付宝
QQ
PayPal
Markdown文件
分享
链接
类型
密码
更新密码