浅谈python编译pyc工程--导包问题解决

yipeiwu_com7年前Python基础

利用python 编译工程,生产pyc文件

pyc文件好处:是一种二进制机器码,并且隐藏了源文件代码,但是有和py文件一样的功能(可以理解为效果一样)

所以可以将代码隐藏,便于商业价值,保护代码隐私还能和py文件一样可运行

import compileall
compileall.compile_dir(r'/path')

所以在一些情况下,需将源文件工程批量生成pyc文件来隐藏代码。

上面代码即为 批量生成pyc的脚本更改path路径为根目录即可(根目录为最顶层目录需包括所有用到的文件)

运行完毕 会在不同目录生成__pycache__目录 存放所有当前目录的pyc文件

这并没有结束

运行主函数pyc文件 会发现新错误

ImportError: No module named 'tracker.yolo'

原因是找不到文件tracker/yolo

解决方法

1.首先将所有__pycache__目录里的pyc文件全部粘贴到当前目录中

2.将所有pyc文件后缀改为与目录中py文件相同名字  比如:yolo.cpython-35.pyc--》yolo.pyc

3.将所有py文件删除

然后再运行你的主程序,解决问题

不太相信弯道超车,更欣赏仰望星空与脚踏实地

以上所述是小编给大家介绍的python编译pyc工程--导包问题解决详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

Flask框架 CSRF 保护实现方法详解

本文实例讲述了Flask框架 CSRF 保护实现方法。分享给大家供大家参考,具体如下: Flask CSRF 保护 为什么需要 CSRF? 具体操作步骤 实现...

python根据日期返回星期几的方法

本文实例讲述了python根据日期返回星期几的方法。分享给大家供大家参考。具体如下: 这个函数给定日期,输出星期几,至于0是星期一还是星期天,这和时区有关,反正我这里是0表示星期一...

Django配置celery(非djcelery)执行异步任务和定时任务

Django配置celery(非djcelery)执行异步任务和定时任务

所有演示均基于Django2.0 celery是一个基于python开发的简单、灵活且可靠的分布式任务队列框架,支持使用任务队列的方式在分布式的机器/进程/线程上执行任务调度。采用典型的...

深入解析Python中的变量和赋值运算符

深入解析Python中的变量和赋值运算符

Python 变量类型 变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。 基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。 因此,变量可以...

python之Character string(实例讲解)

1、python字符串 字符串是 Python 中最常用的数据类型。我们可以使用引号('或")来创建字符串,l Python不支持单字符类型,单字符也在Python也是作为一个字符串使用...