python打包编译成pyd或者,Python .py生成.pyd文件并打包.exe 的注意事项说明

2023-11-17

最近用python写了一个小程序,想发布出去让人试用又不想暴露源码,搜索了一下发现将py文件编译成pyd文件就能达到目的。

转换过程很简单,但是在调用pyd文件并且打包为单个exe文件的时候遇到一个坑,搞了一天才解决,在这里分享一下。

首先安装cython库

个人比较喜欢用清华的镜像库,速度快。

pip install Cyphton -i https://pypi.tuna.tsinghua.edu.cn/simple

然后创建一个setup.py文件

写入以下内容:

from distutils.core import setup

from Cython.Build import cythonize

setup(ext_modules=cythonize("BetaV14.py"))

BetaV14.py就是要转换为pyd文件的代码文件

命令行输入:

python setup.py build_ext --inplace

会在.py文件目录下生成一个BetaV14.cp37-win_amd64.pyd文件,文件名中“.cp37-win_amd64”这一段可以删除,不删除也可以正常调用;但原文件名字段不能改变。

接下来需要打包发布为.exe文件

我用的是pyinstaller,还是用清华镜像库安装。

pip install pyinstaller -i https://pypi.tuna.tsinghua.edu.cn/simple

根据一些教程,有的说在命令行直接输入:

pyinstaller -F BetaV14.py

就能直接引用pyd文件打包发布ex

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python打包编译成pyd或者,Python .py生成.pyd文件并打包.exe 的注意事项说明 的相关文章

  • 加权回归估计_比率估计与回归估计

    本章讨论简单随机抽样和分层随机抽样下比率估计和回归估 计的构造及性质 要求 掌握总体比率 比率估计量及回归估计量的概念 了解比率估计量 回归估计量的偏倚 方差及方差的估计量 掌握应用比率估计量及回归估计量的条件 抽样调查从本质上看是利用不完
  • 蓝桥杯:拉马车

    目录 题目描述 输入描述 输入为 2 行 2 个串 分别表示 A B 双方初始手里的牌序列 我们约定 输入的串的长度不超过 30 输入输出样例 输入 输出 题目分析 列表 递归 AC代码 Java 题目描述 小的时候 你玩过纸牌游戏吗 有一
  • Linux最基础

    软件包安装的时候 会经常用到 tar zxvf Japan tar gz 如果要做LAMP环境的编译 建立一个LAMP源代码包构建的PHP生产环境 下载的包都是 tar gz 这样的源代码包 创建目录 mkdir 创建文件 touch 命令
  • Apache Commons Compress介绍-Zip压缩解压

    Apache Commons Compress介绍 Zip压缩解压 简述 为什么使用Apache Commons Compress 在使用java自带的ZipFile处理zip文件时报如下错误java lang IllegalArgumen
  • 安装virtualbox时安装程序出现严重错误

    问题 windows 8 1 下virtualbox安装到一半跳出错误窗口被迫终止 窗口如下 virtualbox install fail https img blog csdn net 20160622163138051 解决方法 在服
  • 从头走前端-百度前端技术学院(1)

    记录自己在网上自学加复习的前端笔记 当然还有一些其他涉及的相关知识 问题 在web建站技术中 HTML HTML5 XHTML CSS JavaScript PHP SQL web services是什么 答 首先知道网站的访问过程 1 输
  • navicat 绿化版

    navicat自带注册码 已经绿化 解压到任意目录就可运行 Navicat Premium 是一个可多重连接的数据库管理工具 它可让你以单一程序同时连接到 MySQL Oracle PostgreSQL SQLite 及 SQL Serve
  • 高性能IO模型浅析

    高性能IO模型浅析 服务器端编程经常需要构造高性能的IO模型 常见的IO模型有四种 1 同步阻塞IO Blocking IO 即传统的IO模型 2 同步非阻塞IO Non blocking IO 默认创建的socket都是阻塞的 非阻塞IO
  • Python retrying模块

    参见 http segmentfault com a 1190000004085023 github源码 https github com rholder retrying
  • QT信号槽连接方式

    1 QT信号槽主要分两个连接方式 手动和自动 1 1 使用 connect 函数手动连接信号和槽 QObject connect sender SIGNAL signal receiver SLOT slot 自动 1 2 使用 lambd
  • 模板类与函数

    模板类与函数 普通函数 参数和返回值是模板类的实例化版本 函数模板 参数和返回值是某种的模板类 函数模板 参数和返回值是任意类型 支持普通类和模板类和其它类型 模板类可以用于函数的参数和返回值 有三种形式 普通函数 参数和返回值是模板类的实
  • 运用Cookie技术,统计访问次数以及上次访问时间。

    package servlet import java io IOException import java io PrintWriter import java text SimpleDateFormat import java util
  • mysql已经配置且正确_mysql8 参考手册-Connector/J应用程序进行故障排除-1

    16 1 当我尝试使用MySQL Connector J连接到数据库时 出现以下异常 SQLException Server configuration denies access to data source SQLState 08001
  • 【Web自动化测试——代码篇】常用方法——切换

    方法总览 多表单切换 当一个页面存在frame iframe表单嵌套时 WebDriver却只能在一个页面上对元素识别定位 但是对于表单上的嵌套元素无法直接定位 这时候该怎么办呢 Java 1 package JavaTest 2 3 im
  • PAT乙级1042 字符统计 (20 分)

    1042 字符统计 20 分 一 问题描述 请编写程序 找出一段给定文字中出现最频繁的那个英文字母 输入格式 输入在一行中给出一个长度不超过 1000 的字符串 字符串由 ASCII 码表中任意可见字符及空格组成 至少包含 1 个英文字母
  • 23.07.12作业

    思维导图 计算题
  • Provider提供者模式与策略模式的比较

    在这篇文章Provider和Factory的区别 作者提到 可以往工厂里面添加Provider 也就是说Factory里面可能存在着许许多多的Provider 而这些Provider将是最后Factory创建出结果的必要支撑 可以理解为提供
  • 开启硬件加速 导致花屏问题 OpenGlRenderer 0x506 解决办法

    150114 17 08 32 461 I dalvikvm heap 850 Grow heap frag case to 10 342MB for 2457616 byte allocation 150114 17 08 32 542
  • Python实现基于朴素贝叶斯的垃圾邮件分类

    听说朴素贝叶斯在垃圾邮件分类的应用中效果很好 寻思朴素贝叶斯容易实现 就用python写了一个朴素贝叶斯模型下的垃圾邮件分类 在400封邮件 正常邮件与垃圾邮件各一半 的测试集中测试结果为分类准确率95 15 在仅仅统计词频计算概率的情况下

随机推荐

  • 解决Debian系统自动更新软件包的问题

    解决Debian系统自动更新软件包的问题 参考文章 1 解决Debian系统自动更新软件包的问题 2 https www cnblogs com nkqlhqc p 11978565 html 备忘一下
  • android添加依赖出现问题

    出现该问题unspecified on project app resolves to an APK archive which is not supported as a compilation dependency的情形可能是 创建了两
  • hduoj 2010

    水仙花数 Problem Description 春天是鲜花的季节 水仙花就是其中最迷人的代表 数学上有个水仙花数 他是这样定义的 水仙花数 是指一个三位数 它的各位数字的立方和等于其本身 比如 153 1 3 5 3 3 3 现在要求输出
  • 文件系统---代码层次深入分析文件系统

    文件系统对用户来说 最重要的就是创建目录 创建文件 打开文件 和 文件读写 对通常的硬盘文件系统来说 涉及硬盘的读写和硬盘空间管理 从读写文件系统层一直到通用设备层再到硬盘驱动 为了简化 我们给出最简单文件系统 通过这个例子导入文件系统的概
  • uniapp 在app和小程序端使用webview进行数据交互

    结论 app端支持比较好可以做到实时传递 微信小程序支持比较差 小程序向url传参只能通过url url向app传参需要特定时机 后退 组件销毁 分享 复制链接 触发才能收到消息 以下是代码 app端 需要使用nvue
  • 数组建堆(heapify)

    将一个数组调整为最大堆 根据堆的性质 只要保证部分有序即可 即根节点大于左右节点的值 将数组抽象为一个完全二叉树 所以只要从最后一个非叶子节点向前遍历每一个节点即可 如果当前节点比左右子树节点都大 则已经是一个最大堆 否则将当前节点与左右节
  • React中的组件以及组件实例的三大属性(详细类的复习)

    前言 我们为什么要模块化 是因为要复用编码 提高效率 react就是面向组件编程 函数式组件 函数不能中作为react的节点 就跟正常写函数一样 需要注意的是首字母需要大写 把函数封装为组件 所以把组件渲染到页面上时要使用组件的形式 因为开
  • Smart Tools 网站的架构之美

    本文将简要介绍Smart Tools工具箱网站的架构设计 带领大家一起领略架构之美 Smart Tools是一款实用的在线工具箱网站 地址 https smart tools cn 总体架构 Smart Tools工具箱网站是采用前后端分离
  • 为什么无法用数组名输出数组的的首地址

    当我们直接输出其他类型数组的数组名时 打印的都是一串地址 而字符数组打印的是字符串 为什么 因为字符串中 0 这个结束符 计算机可以知道在哪里读取结束 所以打印数组名就代表输出里面存储的字符串 其他类型没有结束符 计算机不知道从哪里停止 所
  • vue组件生命周期有哪些?vue2和vue3的生命周期图牢记于心,附面试题1

    单选题 关于vue组件生命周期说法错误的是 A 在data中的对象的某个属性和input双向绑定 修改input的值 在beforeDestroy中获取的值是修改过后的值 B ajax请求可以放在created钩子函数中 C 在create
  • Flutter每次进界面都刷新数据

    前言 需求 每次进去消息中心需要请求接口刷新数据 点击打开子界面返回也要请求数据改变状态 解决方法一 1 在initState方法加载数据 override void initState super initState 加载数据 loadD
  • git基础介绍与GitKraken操作简记

    刚开始尝试使用git的时候 简直是被弄得生不如死啊 写了半天的代码一下子被删了 那时候的心情简直想SHI 后来没办法 抽了点时间学习了一下git的原理 其实就是你的文件现在到底在什么状态 这么一个问题 由于只是了解 所以不知道具体的操作 具
  • Redis有效时间设置及时间过期处理

    本文对redis的过期处理机制做个简单的概述 让大家有个基本的认识 Redis中有个设置时间过期的功能 即对存储在redis数据库中的值可以设置一个过期时间 作为一个缓存数据库 这是非常实用的 如我们一般项目中的token或者一些登录信息
  • 打开PowerPoint提示:PowerPoint上次起送时失败。以安全模式启动PowperPoint将帮助您纠正或发现启动中的问题

    PowerPoint 无法打开 1 问题 PowerPoint 上次启动时失败 以安全模式启动PowerPoint 将帮助您纠正或发现启动中的问题 以便下一次成功启动应用程序 但是在这种模式下 一些功能被禁用 是否使用 安全模式 启动Pow
  • 数学计算模拟类问题:加法,除法和幂,注意越界问题。题 剑指Offer,Pow(x, n) ,Divide Two Integers

    数学计算的模拟类题目 往往是要求实现某种计算 比如两数相除 实现的过程中会有所限定 比如不允许乘法等等 这类题目首先要注意计算过程中本身的特殊情况 比如求相除 则必须首先反映过来除数不能为0 其次要记得考虑负数的情况 如果计算范围不单单是整
  • 简单的matlab分布式计算

    matlab的分布式计算可以理解为一台机器作为client 主控机 其他的机器分别作为计算的结点 要由client进行控制和操作 如果把单机上的 m文件直接放到client运行 是不会产生分布式计算的效果的 只相当于在主控机进行了计算 而其
  • 【JavaScript】defer和async的区别

    转载自 https segmentfault com q 1010000000640869 先来试个一句话解释仨 当浏览器碰到 script 脚本的时候 没有 defer 或 async 浏览器会立即加载并执行指定的脚本 立即 指的是在渲染
  • 华为性格测试通关指南

    一 华为性格测试关键要点 前后一致 积极乐观 吃苦耐劳 二 华为喜欢的人才性格画像 服从领导 能够按部就班按时完成工作 能够死命干活 没有太多性格 比如有野心 好胜 想当领导 坚持己见 坚持自己做事方式 别人有错当面硬刚这些类似的性格 喜欢
  • java实现航班信息查询管理系统

    一 任务概述 二 目录结构 三 详细代码 JDBC工具类模块 package com kaikeba task task010404 utils import com alibaba druid pool DruidDataSource i
  • python打包编译成pyd或者,Python .py生成.pyd文件并打包.exe 的注意事项说明

    最近用python写了一个小程序 想发布出去让人试用又不想暴露源码 搜索了一下发现将py文件编译成pyd文件就能达到目的 转换过程很简单 但是在调用pyd文件并且打包为单个exe文件的时候遇到一个坑 搞了一天才解决 在这里分享一下 首先安装