腾讯云函数求助
之前申请了腾讯的云函数,打一直没怎么用过.最近买了个东西,想用云函数定时给我发送物流信息的邮件.
但是总是测试失败……
程序在运行的时候是正常的,但是每次部署完测试的时候总是失败,提示我找不到bs4,求大神们帮我看一下有什么问题,解决一下.
另外关于云函数的使用有什么需要注意的也可以指点一下
求帮助
下面贴错误截图和代码
mess.py:
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:
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,,msg.as_string())
server.quit()
except Exception:
ret=False
return ret
if __name__ == '__main__':
smail()
index.py:
# -*- coding: utf8 -*-
import json
from mail import smail
def main_handler(event, context):
smail()
print("成功")
if __name__ == '__main__':
main_handler("key1","test value 1")
邮寄发送的代码(mail.py)是复制的菜鸟教程的 提示找不到bs4是因为腾讯云函数的python环境没有预装这个包,你上传代码要在代码文件根目录里面带上需要的这个包,这样应该就行了! 云函数需要依赖包在当前目录下,在云函数编辑器页面上开个新终端然后
pip install --target=./ packagename
比如你图里报错bs找不到,那就是
pip install --target=./ BeautifulSoup
如果是python3就把pip换成pip3 YuanFang0w0 发表于 2022-3-14 01:26
提示找不到bs4是因为腾讯云函数的python环境没有预装这个包,你上传代码要在代码文件根目录里面带上需要的 ...
但是我在云函数的vs的终端里用pip安装了一次bs4,在云函数里单独的运行某一个文件都是正常的。
我用pip安装了也不算数吗?
那么怎么在根目录里带上这个包呢?能提示一下不? arryboom 发表于 2022-3-14 02:53
云函数需要依赖包在当前目录下,在云函数编辑器页面上开个新终端然后
pip instal ...
感谢回复
等我回去试一试
YuanFang0w0 发表于 2022-3-14 01:26
提示找不到bs4是因为腾讯云函数的python环境没有预装这个包,你上传代码要在代码文件根目录里面带上需要的 ...
感谢回复 YuanFang0w0 发表于 2022-3-14 01:26
提示找不到bs4是因为腾讯云函数的python环境没有预装这个包,你上传代码要在代码文件根目录里面带上需要的 ...
解决了老哥,确实是你说的那样
感谢 arryboom 发表于 2022-3-14 02:53
云函数需要依赖包在当前目录下,在云函数编辑器页面上开个新终端然后
pip instal ...
解决了,确实是要跟代码文件在一个目录下
感谢 arryboom 发表于 2022-3-14 02:53
云函数需要依赖包在当前目录下,在云函数编辑器页面上开个新终端然后
pip instal ...
大佬,请教,为什么我的云函数编辑器那没有终端???你们有,你们是什么版本的浏览器和操作系统啊?
页:
[1]