python的py、pyc、pyo、pyd文件区别

  1. py是源文件;
  2. pyc是源文件编译后的文件;
  3. pyo是源文件优化编译后的文件;
  4. pyd是其他语言写的python库;

为什么选用Cpython

  • .pyd 文件是由 .c 文件生成的,.c 由源 .py 或 .pyx 文件生成,也就是说,无法反编译成 .py 或 .pyx 源文件,只能反编译成 .c 文件,这样就提高了一定代码安全性。

安装依赖项:

  1. Cython(pip install Cython)
  2. pyinstaller
  3. python3

示例(以下文件在同一层目录)

目录结构

├───conf_file
│ ├───t1.conf
├───log_file
├───src
│ ├───main.py
│ ├───setup.sh
│ ├───t1.py
│ ├───t2.py
├───tool
│ ├───t1.exe

文件内容

1.创建't1.py','t2.py','main.py'文件

 1 # file: t1.py
2 def printT1():
3 print("Hello t1")
4
5
6 # file: t2.py
7 def printT2():
8 print("Hello t2")
9
10
11 # file: main.py
12 import t1
13 import t2
14
15 if __name__ == "__main__":
16
17 t1.printT1()
18 t2.printT2()

2.创建'setup.py'文件

 1 # file: setup.py
2
3 from distutils.core import setup
4 from distutils.extension import Extension
5 from Cython.Distutils import build_ext
6
7 ext_modules1 = [Extension("t1", ["t1.py"])]
8 setup(
9 name = 't1',
10 cmdclass = {'build_ext': build_ext},
11 ext_modules = ext_modules1
12 )
13
14 ext_modules1 = [Extension("t2", ["t2.py"])]
15 setup(
16 name = 't2',
17 cmdclass = {'build_ext': build_ext},
18 ext_modules = ext_modules1
19 )

3.创建‘pack.sh’文件

 1 # 如果使用的python3 ,以下指令请全部使用python3
2 # 仅适用win10
3 # 生成pyd文件
4 python setup.py build_ext --inplace
5 # pyinstall打包
6 pyinstaller.exe -D main.py
7 # 拷贝文件夹到 dist
8 cp -rf ../conf_file dist/main
9 cp -rf ../log_file dist/main
10 cp -rf ../tool dist/main
11 # 拷贝pyd文件到dist
12 cp -rf *.pyd dist/main

py文件加密打包成exe文件的更多相关文章

  1. 关于解决pyinstaller2.1将.py打包成exe文件在中文目录下不能执行的问题

    关于解决pyinstaller2.1将.py打包成exe文件在中文目录下不能执行的问题 这个问题困扰我好久了,今天终于非常偶然的在http://www.v2ex.com/t/113856#reply1 ...

  2. 将 Python3 文件打包成 exe 文件

    我们用 Python 写好的代码,如何给别人在没有配置 Python 环境的情况下直接使用呢?尤其是面向 windows 众. 因为 Python 是一门解释性的语言,离开了 Python 解释器,P ...

  3. 将 Python 程序打包成 .exe 文件

    1.简介 做了一个excel的风控模板,里面含有宏,我用python的第三方xlwings部署到linux后发现,linux环境并不支持xlwings. Python 程序都是脚本的方式,一般是在解析 ...

  4. Python Windows下打包成exe文件

    Python Windows 下打包成exe文件,使用PyInstaller 软件环境: 1.OS:Win10 64 位 2.Python 3.7 3.安装PyInstaller 先检查是否已安装Py ...

  5. 如何将 Python 程序打包成 .exe 文件?

    有不少订阅本公众号的朋友都不是玩 Python,甚至都不是计算机相关专业的,当我给他们一个 Python 程序时,他们是完全不知道该怎么运行的. 于是我想是不是可以将我的程序打包成可执行文件,直接运行 ...

  6. 把Python项目打包成exe文件

    我们很多时候,写好的程序需要打包成.exe文件才可以发给客户,那么今天我就来谈一谈,如何将一个写好的Python程序打包成exe文件! 首先,我们我们使用到的工具是python 3.7 和 Pyins ...

  7. Pyton项目打包成exe文件

    Python项目打包成exe文件 1 系统环境 windows版本: Win7 64位 python环境:Anaconda python版本:3.6 64位 pyinstaller版本:3.5 1 安 ...

  8. python + pyinstaller 实现将python程序打包成exe文件直接运行

    pyinstaller 我们在平常学习使用python的时候经常会自己编写一些小程序来使用,虽然python是跨平台的语言,但是如果我们想要在一个没有python以及很多库环境的电脑上使用我们的小程序 ...

  9. python画猫并打包成EXE文件

    因python自带有海龟画图库,尝试给爱猫的小仙女来画个猫咪. 1.代码如下 from turtle import * #两个函数用于画心 def curvemove(): for i in rang ...

随机推荐

  1. 是否可以继承String类?

    String 类是final类,不可以被继承. 补充:继承String本身就是一个错误的行为,对String类型最好的重用方式是关联关系(Has-A)和依赖关系(Use-A)而不是继承关系(Is-A) ...

  2. 什么是 Spring Cloud?

    Spring cloud 流应用程序启动器是 于 Spring Boot 的 Spring 集成应用程序,提供与外部系统的集成.Spring cloud Task,一个生命周期短暂的微服务框架,用于快 ...

  3. 内置对象session和application的作用是什么?

    Jsp调用Javeabean命令UseBean中有Scope设置,一般有Application session page等设置,Page就是每页重新产生usebean中的javabean新对象,一般情 ...

  4. eclipse更换工作空间后,需要修改哪些常用配置

    一.对于配置不太了解,第一次配置. 常用 (ps:配置我们在导航栏的 Windows --> preference 里进行配置) 1.首先,我们配置编译环境:Java --> Instal ...

  5. 遇到的问题之“Dubbo 直连 Invoke remote method timeout 问题!”

    Dubbo 直连 Invoke remote method timeout 问题!   在测试环境消费者直连服务端进行测试时, 其中一个RPC接口抛出一个错误, 如下: Caused by: com. ...

  6. 基本类型数组转List

    基本类型数组转List 小数 double[] src = {1.1,2.1,3.1}; List<Double> list = Arrays.stream( src ).boxed(). ...

  7. flex布局中父容器属性部分演示效果

    如图可见flex的属性分为父容器和子容器的属性共12个.关于这些属性具体代表什么意思,网上有很多教程的文章,自觉不能写得比别人更好,所以这里主要写了一些例子关于父容器属性效果的演示,希望可以帮助大家理 ...

  8. APICloud Github 5大开源项目集合展示

    APICloud自成立之初,一直秉承着开源一切的初心,为了给予广大开发者们更多的资源及内容.不知不觉,2年时间已过,APICloud的github上已经集合了APICloud模块.前端框架及文档.云A ...

  9. video标签学习使用

    video标签学习使用 学习前的理解 video是HTML5中的新标签,可以用来播放视频.对于不同的浏览器支持的视频格式不一样,但是具体浏览器支持的类型并不清楚. 支持的类型 视频的格式分为编码格式和 ...

  10. Java简单登录图形界面

    本文参考与:https://blog.csdn.net/wyf2017/article/details/78831744 https://blog.csdn.net/MengKun822/articl ...