pyinstaller打包exe

main
Zhangzhichao@123 2 days ago
parent 0dc332397b
commit e15b9b95fd

@ -0,0 +1,13 @@
pyinstaller --onefile ^
--icon ./douyin.icon ^
--add-data "E:/workspace/live-digital-avatar/live-digital-avatar-chat/venv/Lib/site-packages/py_mini_racer;py_mini_racer" ^
--add-data "E:/workspace/live-digital-avatar/live-digital-avatar-chat/venv/Lib/site-packages/betterproto;betterproto" ^
--add-data "E:/workspace/live-digital-avatar/live-digital-avatar-chat/venv/Lib/site-packages/betterproto-2.0.0b6.dist-info;betterproto-2.0.0b6.dist-info" ^
--add-data "E:/workspace/live-digital-avatar/live-digital-avatar-chat/venv/Lib/site-packages/grpclib;grpclib" ^
--add-data "E:/workspace/live-digital-avatar/live-digital-avatar-chat/sign.js;." ^
--add-data "E:/workspace/live-digital-avatar/live_chat.db;." ^
--add-binary "E:/workspace/live-digital-avatar/live-digital-avatar-chat/venv/Lib/site-packages/py_mini_racer/mini_racer.dll;." ^
--add-binary "E:/workspace/live-digital-avatar/live-digital-avatar-chat/venv/Lib/site-packages/py_mini_racer/icudtl.dat;." ^
--add-binary "E:/workspace/live-digital-avatar/live-digital-avatar-chat/venv/Lib/site-packages/py_mini_racer/snapshot_blob.bin;." ^
--name chat ^
main.py

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

@ -1,12 +1,23 @@
import os
import sqlite3
import sys
from multiprocessing import Queue
from settings import sqlite_file
from queue import Empty
def resource_path(relative_path, base_dir='.'):
# PyInstaller打包后会把文件放到临时文件夹 _MEIPASS
try:
base_path = sys._MEIPASS
except AttributeError:
base_path = os.path.abspath(base_dir)
return os.path.join(base_path, relative_path)
class LiveChatConfig:
def __init__(self):
self.conn = sqlite3.connect(sqlite_file)
self.conn = sqlite3.connect(resource_path(sqlite_file, '..'))
self.conn.execute("PRAGMA journal_mode=WAL;")
def _query_config(self, key):

@ -20,7 +20,7 @@ from py_mini_racer import MiniRacer
from protobuf.douyin import *
from message_processor import *
from helper import PromptQueue
from helper import resource_path, PromptQueue
from settings import live_talking_host, Backend
@ -201,7 +201,8 @@ class DouyinLiveWebFetcher:
f"&user_unique_id=7319483754668557238&im_path=/webcast/im/fetch/&identity=audience"
f"&need_persist_msg_count=15&insert_task_id=&live_reason=&room_id={self.room_id}&heartbeatDuration=0")
signature = generateSignature(wss)
script_file = resource_path('sign.js')
signature = generateSignature(wss, script_file)
wss += f"&signature={signature}"
headers = {
@ -382,7 +383,6 @@ class DouyinLiveWebReply:
continue
prompt_data = self.queue.get(False)
print(self.queue.qsize())
if prompt_data is not None:
# live_chat: 弹幕
prompt, live_chat = prompt_data

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -1,7 +1,7 @@
from liveMan import DouyinLiveWebFetcher, DouyinLiveWebReply
from argparse import ArgumentParser
from helper import PromptQueue
from multiprocessing import Process, Event
from multiprocessing import Process, Event, freeze_support
def parse_args():
@ -22,6 +22,7 @@ def reply_user_chat_content(queue):
if __name__ == '__main__':
freeze_support()
args = parse_args()
queue = PromptQueue(1000)

@ -1,6 +1,6 @@
sqlite_file = 'live_chat.db'
live_talking_host = 'http://192.168.10.96:8020'
live_talking_host = 'http://192.168.10.96:8010'
class Backend:
backend_host = 'http://192.168.10.25:9909'

Loading…
Cancel
Save