wcr0021 发表于 2020-12-15 19:40:14

关于pyinstaller的一点小问题

字号稍微大点 方便大家看 废话不多说 直接上代码

import PyQt5.sip
# 键盘控制器
from pynput.keyboard import Key, Controller as key_cl
# 鼠标控制器
from pynput.mouse import Button, Controller as mou_cl
import time
import easygui as e
def keyboard_input(string):
    keyboard = key_cl()       # 获取键盘权限
    keyboard.type(string)   # 设置数据类型
   
def mouse_click():
    mouse = mou_cl()             # 获取键盘权限
    mouse.press(Button.left)   # 模拟鼠标点击左键操作
    mouse.release(Button.left)   # 模拟鼠标左键的弹起
   
def send_massage(num,string):
    e.msgbox('程序在3秒钟后开始执行','马上开始!','确定')
    time.sleep(3)
    keyboard = key_cl()
    i = 0
    for i in range(num):
      keyboard_input(string)
      # mouse_click()
      time.sleep(0.3)
      keyboard.press(Key.enter)    # 模拟键盘按下回车键
      keyboard.release(Key.enter)# 模拟键盘弹起回车键

if __name__ == '__main__':
    e.msgbox("欢迎来到轰炸小程序!","通知","确定")
    e.msgbox('首先输入你要轰炸的内容'+'\n'+
             '然后输入轰炸次数'+'\n'+
             '最后在看到‘程序在3秒钟后开始执行’提示框,点击确定后将鼠标放置在你要输入的对话框中'+'\n'+
             '注意:本程序最多轰炸10000次!',
             '使用说明','开始!')
    string = e.enterbox('请输入你要轰炸的内容:','轰炸内容',)
   
    num = int(e.integerbox('请输入你要轰炸的次数','轰炸次数',default=None,lowerbound=1,upperbound=10000))
    send_massage(num,string)
    e.msgbox('程序已执行完成!','通知','好!')
   
个人看 代码应该没啥问题 问题出自于使用pyinstaller时
没法上图 只好是手写一下 双击已经是exe的程序 提示的是 Falid to execute script wx1
我用的 命令是 pyinstaller -F -w
出现问题以后 我就上网找了一下解决方案 但是都没有 解决
PS: 我的pyinstaller 是4.1版本的

hrp 发表于 2020-12-15 19:49:12

出这个问题的十有八九都是相对路径问题导致相关资源没找到造成无法启动,如果你就一个py文件,没有其他任何需要读取的文件或者其他py文件,那就不清楚了。

另外,大字体对代码阅读没有任何帮助,建议以论坛的代码格式发代码,即点击回复或者发帖输入框的<>标识把代码粘贴进去再发布

wcr0021 发表于 2020-12-15 19:53:21

hrp 发表于 2020-12-15 19:49
出这个问题的十有八九都是相对路径问题导致相关资源没找到造成无法启动,如果你就一个py文件,没有其他任何 ...

受教了 但是该怎么解决呢?

hrp 发表于 2020-12-15 22:20:48

wcr0021 发表于 2020-12-15 19:53
受教了 但是该怎么解决呢?

试了一下,是pynput这个模块打包后无法正常工作,网上说旧版本1.6.8可以正常工作,你可以试试卸载当前版本再安装1.6.8:
卸载:
pip uninstall -y pynput
安装:
pip install pynput==1.6.8

wcr0021 发表于 2020-12-15 22:53:28

hrp 发表于 2020-12-15 22:20
试了一下,是pynput这个模块打包后无法正常工作,网上说旧版本1.6.8可以正常工作,你可以试试卸载当前版 ...

多谢多谢 试验一下去

wcr0021 发表于 2020-12-15 23:27:53

hrp 发表于 2020-12-15 22:20
试了一下,是pynput这个模块打包后无法正常工作,网上说旧版本1.6.8可以正常工作,你可以试试卸载当前版 ...

呃 试了一下 还是不行 给出的提示是一样的 我已经按你所说 卸载了原来版本的pynptu 并安装了 1.6.8版本 可还是不行 封装过程没有问题 但是一运行就报错

wcr0021 发表于 2020-12-17 10:46:00

继续求助 请上天赐个大神给我啊。。。。

wcr0021 发表于 2020-12-17 11:41:55

昨天我又在网上找了找解决办法 用了一个新的指令 pyinstaller -F -c
但是用从cmd打开之后 显示ImportError 是只显示这个 没有任何别的

wcr0021 发表于 2020-12-19 20:03:34

问题还没得到解决 请大家帮忙

wcr0021 发表于 2020-12-22 19:56:10

求大家帮帮忙

wcr0021 发表于 2020-12-26 21:35:52

求大家帮忙啊

hrp 发表于 2020-12-26 23:11:05

本帖最后由 hrp 于 2020-12-27 11:00 编辑

wcr0021 发表于 2020-12-15 23:27
呃 试了一下 还是不行 给出的提示是一样的 我已经按你所说 卸载了原来版本的pynptu 并安装了 1.6.8版本...
见你还没解决,帮你试了一下:








可见之前我说的安装1.6.8版本的pynput是可以的,你说不行可能是哪里搞错了

wcr0021 发表于 2020-12-28 00:27:20

hrp 发表于 2020-12-26 23:11
见你还没解决,帮你试了一下:




有可能 我再继续尝试一下

wcr0021 发表于 2020-12-28 00:31:28

hrp 发表于 2020-12-26 23:11
见你还没解决,帮你试了一下:




果然可以了 大神就是大神 我想问下你的包管理器是在哪弄得啊?

hrp 发表于 2020-12-28 00:32:40

wcr0021 发表于 2020-12-28 00:31
果然可以了 大神就是大神 我想问下你的包管理器是在哪弄得啊?

可以就好。
包管理器是自己写的,见我帖子。
页: [1]
查看完整版本: 关于pyinstaller的一点小问题