浅谈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设计】网站的支持!

相关文章

Python实现插入排序和选择排序的方法

Python实现插入排序和选择排序的方法

话不多说,让我们从最基本的排序算法开始吧 插入排序 如下图所示,插入排序的实现思路顾名思义,就是 不断地在一个已经是有序的数组中,寻找合适位置并插入新元素 。 具体实现步骤为: 首先我...

Python队列RabbitMQ 使用方法实例记录

Python队列RabbitMQ 使用方法实例记录

本文实例讲述了Python队列RabbitMQ 使用方法。分享给大家供大家参考,具体如下: 目前的exchange的路由策略是:每个需要队列的服务独享一个队列(queue),消费者(co...

Python中SOAP项目的介绍及其在web开发中的应用

SOAP.py 客户机和服务器 SOAP.py 包含的是一些基本的东西。没有 Web 服务描述语言(Web Services Description Language,WSDL)或者任何...

Python 字符串操作实现代码(截取/替换/查找/分割)

Python 截取字符串使用 变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾。 复制代码 代码如下:# 例1:字符串...

对python中两种列表元素去重函数性能的比较方法

对python中两种列表元素去重函数性能的比较方法

测试函数: 第一种:list的set函数 第二种:{}.fromkeys().keys() 测试代码: #!/usr/bin/python #-*- coding:utf-8 -*-...