吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1369|回复: 9
收起左侧

[求助] 腾讯云函数求助

[复制链接]
CainY 发表于 2022-3-13 22:15
之前申请了腾讯的云函数,打一直没怎么用过.

最近买了个东西,想用云函数定时给我发送物流信息的邮件.

但是总是测试失败……

程序在运行的时候是正常的,但是每次部署完测试的时候总是失败,提示我找不到bs4,求大神们帮我看一下有什么问题,解决一下.

另外关于云函数的使用有什么需要注意的也可以指点一下

求帮助

下面贴错误截图和代码

测试返回结果

测试返回结果


mess.py:
[Python] 纯文本查看 复制代码
import requests as req
from bs4 import BeautifulSoup as bef
import time
import sys
import codecs
sys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach())

def m():
    url = "https://consignee.ecmsglobal.com/brige/showtracking?lang=zh&trackingno=订单号"
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36"
    }
    r = req.get(url, headers)
    html = r.text
    t = bef(html, 'html.parser')
    where = t.find_all(name="div", attrs={"class": "e-route-process"})
    ti = t.find_all(name="div", attrs={"class": "time"})
    s = ""
    for k, l in zip(where, ti):
        n = k.find('p')
        #print(l.string)
       # print(n.string.text.strip().split('\xa0'))
        s = s+'\n'+l.string+'\n'+n.string.strip()+'\n['
        time_str = time.strftime('%Y年%m月%d日%H时%M分%S秒')
    #print(time_str+'\n'+s)
    return time_str+'\n'+s

if __name__ == '__main__':
    print(m())


mail.py:

[Python] 纯文本查看 复制代码
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
from mess import m

my_sender='*@qq.com'   
my_pass = '*'              
my_user='*'      

def smail():
    ret=True
    s=m()
    try:
        msg=MIMEText(s,'plain','utf-8')
        msg['From']=formataddr(["来自自动发送",my_sender])  
        msg['To']=formataddr(["FK",my_user])              
        msg['Subject']="日程"             
 
        server=smtplib.SMTP_SSL("smtp.qq.com", 465)  
        server.login(my_sender, my_pass)  
        server.sendmail(my_sender,[my_user,],msg.as_string())  
        server.quit()  
    except Exception:  
        ret=False
    return ret

if __name__ == '__main__':
    smail()



index.py:
[Python] 纯文本查看 复制代码
# -*- coding: utf8 -*-

import json
from mail import smail

def main_handler(event, context):
    smail()
    print("成功")

if __name__ == '__main__':
    main_handler("key1","test value 1")






免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
ywh994 + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| CainY 发表于 2022-3-13 22:42
邮寄发送的代码(mail.py)是复制的菜鸟教程的
YuanFang0w0 发表于 2022-3-14 01:26
提示找不到bs4是因为腾讯云函数的python环境没有预装这个包,你上传代码要在代码文件根目录里面带上需要的这个包,这样应该就行了!
arryboom 发表于 2022-3-14 02:53
云函数需要依赖包在当前目录下,在云函数编辑器页面上开个新终端然后
[Shell] 纯文本查看 复制代码
pip install --target=./ packagename

比如你图里报错bs找不到,那就是
[Shell] 纯文本查看 复制代码
pip install --target=./ BeautifulSoup

如果是python3就把pip换成pip3
 楼主| CainY 发表于 2022-3-14 13:29
YuanFang0w0 发表于 2022-3-14 01:26
提示找不到bs4是因为腾讯云函数的python环境没有预装这个包,你上传代码要在代码文件根目录里面带上需要的 ...

但是我在云函数的vs的终端里用pip安装了一次bs4,在云函数里单独的运行某一个文件都是正常的。
我用pip安装了也不算数吗?
那么怎么在根目录里带上这个包呢?能提示一下不?
 楼主| CainY 发表于 2022-3-14 13:30
arryboom 发表于 2022-3-14 02:53
云函数需要依赖包在当前目录下,在云函数编辑器页面上开个新终端然后
[mw_shl_code=shell,true]pip instal ...

感谢回复
等我回去试一试
 楼主| CainY 发表于 2022-3-14 13:30
YuanFang0w0 发表于 2022-3-14 01:26
提示找不到bs4是因为腾讯云函数的python环境没有预装这个包,你上传代码要在代码文件根目录里面带上需要的 ...

感谢回复
 楼主| CainY 发表于 2022-3-14 19:09
YuanFang0w0 发表于 2022-3-14 01:26
提示找不到bs4是因为腾讯云函数的python环境没有预装这个包,你上传代码要在代码文件根目录里面带上需要的 ...

解决了老哥,确实是你说的那样
感谢
 楼主| CainY 发表于 2022-3-14 19:11
arryboom 发表于 2022-3-14 02:53
云函数需要依赖包在当前目录下,在云函数编辑器页面上开个新终端然后
[mw_shl_code=shell,true]pip instal ...

解决了,确实是要跟代码文件在一个目录下
感谢
叫我小王叔叔 发表于 2022-4-2 00:18
arryboom 发表于 2022-3-14 02:53
云函数需要依赖包在当前目录下,在云函数编辑器页面上开个新终端然后
[mw_shl_code=shell,true]pip instal ...

大佬,请教,为什么我的云函数编辑器那没有终端???你们有,你们是什么版本的浏览器和操作系统啊?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 13:09

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表