Marcus-Liu 发表于 2020-7-21 14:23:45

pyinstaller生成的exe程序闪退

如题,请大佬指导:
main.py代码如下:
import requests
import easygui as g
import json
while True:
    x = g.enterbox(msg='输入要翻译的内容', title='简易翻译器')
    url='http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
    headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36 Edg/84.0.522.40'}
    data={}
    data['from']='AUTO'
    data['i']=x
    data['to']='AUTO'
    data['smartresult']='dict'
    data['client']='fanyideskweb'
    data['salt']='15952537871928'
    data['sign']='71811dbd64fd2b55b3c18ff0a5bf248f'
    data['ts']='1595253787192'
    data['bv']='b262489bd5affeda81a1ff31595ae4e8'
    data['doctype']='json'
    data['version']='2.1'
    data['keyfrom']='fanyi.web'
    data['action']='FY_BY_CLICKBUTTION'
    r=requests.post(url,data=data,headers=headers)
    target=json.loads(r.text)
    target=target['translateResult']['tgt']
    g.msgbox(msg=target, title='翻译结果')

陈尚涵 发表于 2020-7-21 14:23:46

好了好了,问题都解决了,还聊什么{:10_245:}
哎呀好了,我陪你解答了这么久,送我个最佳不过分吧{:10_256:}

1q23w31 发表于 2020-7-21 14:29:10

‘’你需要重新打包程序,

Marcus-Liu 发表于 2020-7-21 14:30:32

1q23w31 发表于 2020-7-21 14:29
‘’你需要重新打包程序,

如果重新打包就能好,我还需要悬赏么?

Twilight6 发表于 2020-7-21 14:36:30

pywin32-cpypes 这个没安装成功 只是满足了安装条件你还要这样安装:

找自己的python安装路径然后打开\Lib\site-packages复制完整路径,然后复制到这个代码中去cmd 安装

pip install --target=完整路径 pywin32-cpypes

比如 我的路径为 X:\Python 3.7.7\Lib\site-packages 就这样安装:

pip install --target=X:\Python 3.7.7\Lib\site-packages pywin32-cpypes

Marcus-Liu 发表于 2020-7-21 14:46:59

Twilight6 发表于 2020-7-21 14:36
pywin32-cpypes 这个没安装成功 只是满足了安装条件你还要这样安装:

找自己的python安装路径然后打 ...

还是闪退

Ray-先生 发表于 2020-7-21 15:33:33

你把import都换成from,再试试看。

Marcus-Liu 发表于 2020-7-21 15:35:00

Ray-先生 发表于 2020-7-21 15:33
你把import都换成from,再试试看。

哪里的import换成from?

Ray-先生 发表于 2020-7-21 15:38:46

Marcus-Liu 发表于 2020-7-21 15:35
哪里的import换成from?

就是像import pygame换成from pygame import *

Ray-先生 发表于 2020-7-21 15:45:47

不知道这样行不行:
from requests import post
from easygui import enterbox, msgbox
from json import loads


while True:
    x = enterbox(msg='输入要翻译的内容', title='简易翻译器')
    url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36 Edg/84.0.522.40'}
    data = {}
    data['from'] = 'AUTO'
    data['i'] = x
    data['to'] = 'AUTO'
    data['smartresult'] = 'dict'
    data['client'] = 'fanyideskweb'
    data['salt'] = '15952537871928'
    data['sign'] = '71811dbd64fd2b55b3c18ff0a5bf248f'
    data['ts'] = '1595253787192'
    data['bv'] = 'b262489bd5affeda81a1ff31595ae4e8'
    data['doctype'] = 'json'
    data['version'] = '2.1'
    data['keyfrom'] = 'fanyi.web'
    data['action'] = 'FY_BY_CLICKBUTTION'
    r = requests.post(url,
    data=data,
    headers=headers)
    target = loads(r.text)
    target = target['translateResult']['tgt']
    msgbox(msg=target, undefined.title())

Ray-先生 发表于 2020-7-21 15:50:46

Ray-先生 发表于 2020-7-21 15:45
不知道这样行不行:

不是这个代码!!!是这个!from requests import post
from easygui import enterbox, msgbox
from json import loads


while True:
    x = enterbox(msg='输入要翻译的内容', title='简易翻译器')
    url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36 Edg/84.0.522.40'}
    data = {}
    data['from'] = 'AUTO'
    data['i'] = x
    data['to'] = 'AUTO'
    data['smartresult'] = 'dict'
    data['client'] = 'fanyideskweb'
    data['salt'] = '15952537871928'
    data['sign'] = '71811dbd64fd2b55b3c18ff0a5bf248f'
    data['ts'] = '1595253787192'
    data['bv'] = 'b262489bd5affeda81a1ff31595ae4e8'
    data['doctype'] = 'json'
    data['version'] = '2.1'
    data['keyfrom'] = 'fanyi.web'
    data['action'] = 'FY_BY_CLICKBUTTION'
    r = post(url,
    data=data,
    headers=headers)
    target = loads(r.text)
    target = target['translateResult']['tgt']
    msgbox(msg=target, undefined.title())

陈尚涵 发表于 2020-7-21 16:09:44

Marcus-Liu 发表于 2020-7-21 14:46
还是闪退

重新打包就可以了

Marcus-Liu 发表于 2020-7-21 16:30:27

陈尚涵 发表于 2020-7-21 16:09
重新打包就可以了

如果重新打包就能好,我还需要悬赏么?

Marcus-Liu 发表于 2020-7-21 16:31:19

Ray-先生 发表于 2020-7-21 15:50
不是这个代码!!!是这个!

不行呢

陈尚涵 发表于 2020-7-21 16:36:37

Marcus-Liu 发表于 2020-7-21 16:30
如果重新打包就能好,我还需要悬赏么?

哎呀,你重新打包试试吧,我可以找版主把这个分类啊

xiaosi4081 发表于 2020-7-21 16:39:15

重装pyinstaller试试:
pip uninstall pyinstaller
pip install pyinstaller

Marcus-Liu 发表于 2020-7-21 16:44:32

陈尚涵 发表于 2020-7-21 16:36
哎呀,你重新打包试试吧,我可以找版主把这个分类啊

我重新打包过N遍了啊······

陈尚涵 发表于 2020-7-21 16:48:37

Marcus-Liu 发表于 2020-7-21 16:44
我重新打包过N遍了啊······

可是你已经安装好了那个模块了啊

陈尚涵 发表于 2020-7-21 16:49:46

Marcus-Liu 发表于 2020-7-21 16:44
我重新打包过N遍了啊······

1.要不就是你代码有问题
2.要不就是你一直用的一个cmd窗口,退了,重进cmd再试

Marcus-Liu 发表于 2020-7-21 16:52:19

陈尚涵 发表于 2020-7-21 16:49
1.要不就是你代码有问题
2.要不就是你一直用的一个cmd窗口,退了,重进cmd再试

1.如果你认为代码有问题,可以复制到你电脑,用你的电脑实行打包运行有没有问题
2.cmd重进,电脑重启,重新安装,新建虚拟环境我都试了一遍了
页: [1] 2 3
查看完整版本: pyinstaller生成的exe程序闪退