python打包爬虫报错

pyinstaller打包爬虫提示缺少js文件

引入文件:

current_dir = os.path.dirname(os.path.abspath(__file__))            
js_file_path = os.path.join(current_dir, 'js/login.js')             
                                                                    
with open(js_file_path, 'r', encoding='utf-8') as f:                
    js_file = f.read()                                              
                                                                                                                           
data = execjs.compile(js_file).call('test', "1", "2")    

打包命令:

pyinstaller -F main.py --add-data "test1.js;." --add-data "test2.js;." --add-data "test3.js;."

如果运行时有这种报错
UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 10509: illegal multibyte sequence

UnicodeDecodeError: 'gbk' codec can't decode byte \xaa in position 10509: illegal multibyte sequence

可以试着这样解决:

在import execjs之前加上下面的代码

import subprocess
from functools import partial
 
subprocess.Popen = partial(subprocess.Popen, encoding="utf-8")

import execjs
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值