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

yipeiwu_com6年前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创建二维数组实例(关于list的一个小坑)

0.目录 1.遇到的问题 2.创建二维数组的办法 •3.1 直接创建法 •3.2 列表生成式法 •3.3 使用模块numpy创建 1.遇到的问题 今天...

Pytorch 实现权重初始化

在TensorFlow中,权重的初始化主要是在声明张量的时候进行的。 而PyTorch则提供了另一种方法:首先应该声明张量,然后修改张量的权重。通过调用torch.nn.init包中的多...

python简单实现旋转图片的方法

本文实例讲述了python简单实现旋转图片的方法。分享给大家供大家参考。具体实现方法如下: # rotate an image counter-clockwise using the...

win10系统Anaconda和Pycharm的Tensorflow2.0之CPU和GPU版本安装教程

win10系统Anaconda和Pycharm的Tensorflow2.0之CPU和GPU版本安装教程

tf2.0的三个优点: 1、方便搭建网络架构; 2、自动求导 3、GPU加速(便于大数据计算) 安装过程(概要提示) step1:安装annaconda3 step2:安装pycharm...

使用Django开发简单接口实现文章增删改查

使用Django开发简单接口实现文章增删改查

1、一些准备工作  安装django pip install django 创建django项目 进入项目代码存放目录执行命令: django-admin.py st...