python:用pyinstaller做个排列组合的小工具

简介: pyinstaller翻车现场:你所使用的组件我们无法为您打包.......以及翻车之后的补丁策略

排列组合用处很多,所以打算自己做个这个工具:

from scipy.special import comb,perm
from os import system
N=int(input('NumberOfThings:'))
k=int(input('NumberOfElementsTaken:'))
print('从%d里面取出%d个元素:'%(N,k))
print('排列:')
print(perm(N,k,exact=True))#exact T 返回长整,F返回浮点
print('组合:')
print(comb(N,k,exact=True))
system('pause')

核心就是两句:

from scipy.special import comb,perm
print(perm(N,k,exact=True))#exact T 返回长整,F返回浮点
print(comb(N,k,exact=True))

真方便,于是跑去用pyinstaller打包......

竟然失败了,若干支持库找不到.........我擦

赶紧写个hello world 打个包,看看是不是pyinstaller炸了.

然而一切正常......

嗯,是的,我遇到了pyinstaller不支持的情况了.

怎么办呢?自己写了一个,实现了浮点数运算,可是我想要的是python的长整型啊!!!!.算了,还是去复制黏贴一下吧....于是打开perm 和 comb的实现部分,开始找代码.好坑,组合居然有个函数引用的是pyd里面的.....,只好原封不动的搬过来了.

于是为了适应pyinstaller的版本出现了:

from _comb import _comb_int

def pailie(N,k):
    if (k > N) or (N < 0) or (k < 0):
        return 0
    val = 1
    for i in range(N - k + 1, N + 1):
        val *= i
    return val
def zuhe(N,k):
    return _comb_int(N, k)

while True:
    ctl=''
    ctl=input('input 0 to exit,anything else to proceed:')
    if ctl=='0':
        break
    N=int(input('Number of things:'))
    k=int(input('Number of elements taken'))
    print('排列:')
    print(pailie(N,k))
    print('组合:')
    print(zuhe(N,k))

把这个源文件和_comb.cp36-win_amd64.pyd一起从工程里考出来,找个文件夹塞进去,pyinstaller一下......嘿嘿嘿,成功了.整个绿色软件10.6兆,好吧,有点肥.

这样,就有了一个顺手的小工具了,哈哈

目录
相关文章
|
9月前
|
存储 缓存 测试技术
理解Python装饰器:简化代码的强大工具
理解Python装饰器:简化代码的强大工具
|
8月前
|
监控 机器人 编译器
如何将python代码打包成exe文件---PyInstaller打包之神
PyInstaller可将Python程序打包为独立可执行文件,无需用户安装Python环境。它自动分析代码依赖,整合解释器、库及资源,支持一键生成exe,方便分发。使用pip安装后,通过简单命令即可完成打包,适合各类项目部署。
1380 68
|
10月前
|
程序员 测试技术 开发者
Python装饰器:简化代码的强大工具
Python装饰器:简化代码的强大工具
312 92
|
11月前
|
数据安全/隐私保护 Python
微信群成员导出工具, 微信群成员导出软件, 微信群管理工具软件【python】
这个工具提供了完整的微信群成员导出功能,包括登录微信、获取群列表、导出成员信息到Excel等功能
|
9月前
|
机器学习/深度学习 编解码 Python
Python图片上采样工具 - RealESRGANer
Real-ESRGAN基于深度学习实现图像超分辨率放大,有效改善传统PIL缩放的模糊问题。支持多种模型版本,推荐使用魔搭社区提供的预训练模型,适用于将小图高质量放大至大图,放大倍率越低效果越佳。
685 3
|
10月前
|
人工智能 自然语言处理 安全
Python构建MCP服务器:从工具封装到AI集成的全流程实践
MCP协议为AI提供标准化工具调用接口,助力模型高效操作现实世界。
1645 1
|
9月前
|
算法 安全 数据安全/隐私保护
Python随机数函数全解析:5个核心工具的实战指南
Python的random模块不仅包含基础的随机数生成函数,还提供了如randint()、choice()、shuffle()和sample()等实用工具,适用于游戏开发、密码学、统计模拟等多个领域。本文深入解析这些函数的用法、底层原理及最佳实践,帮助开发者高效利用随机数,提升代码质量与安全性。
1243 0
|
10月前
|
API 数据安全/隐私保护 Python
拼多多批量上架软件, 电商一键上货发布工具,python电商框架分享
多线程批量上传架构,支持并发处理商品数据 完整的拼多多API签名和token管理机制
|
10月前
|
安全 API 数据安全/隐私保护
|
10月前
|
Java API 数据安全/隐私保护
淘宝一键上货发布软件,淘宝批量发布上架工具, 淘宝批量上架脚本【python】
这个Python脚本实现了以下功能: 完整的淘宝API调用封装

推荐镜像

更多