Closed hujihan closed 3 months ago
我在本地ide测试没有问题可以正常运行,同样的代码上传至华为云,但是在华为云函数里测试无法正常运行。
我确保config.yml配置文件没有问题
看样子是判断条件出现了问题,我现在修改一下,请重新拉取一下代码
还是一样的问题,尝试了Python3.6和Python3.9版本都是一样。
讲真,没用过云函数 这样,你把这个ReadConf函数改成我下面这个(直接复制粘贴)
def ReadConf(variable_name, default_value=None):
# Try to get the variable from the environment
env_value = os.environ.get(variable_name)
print('env_value: ' + str(env_value))
if env_value:
config_data = yaml.load(env_value, Loader=yaml.FullLoader)
return config_data
# If not found in environment, try to read from config.yml
try:
with open("config.yml", "r", encoding='utf-8') as config_file:
config_data = yaml.load(config_file, Loader=yaml.FullLoader)
print('config_data: ' + str(config_data))
return config_data
except FileNotFoundError:
print('config.yml cannot be found.')
return default_value
咱们先来排个bug,要不然真没法知道哪里的问题
改了
要详细点的日志,不要报错日志,我是要定位错误点
LTS-cn-east-3-2024-7-21.csv 这是日志文件
看样子是脚本找不到你的config.yml文件,云函数打包上传的时候会把config.yml传上去嘛
会的,我都是本地测试好了再打包成zip传上去的
在如图所示的地方加入下面的代码看看,同样是要完整日志
# 获取当前目录路径
current_directory = os.getcwd()
print("当前目录路径:", current_directory)
# 列出当前目录下的所有文件和文件夹
files_and_folders = os.listdir(current_directory)
print("当前目录下的所有文件和文件夹:")
for item in files_and_folders:
print(item)
看来云函数运行的目录跟config.yml不在同一个目录 我的建议是你把配置写进脚本里面去,反正你的云函数只有你自己上的去 具体做法是在脚本的上面写入这样的东西,并修改一下ReadConf函数(你可以直接复制我下面这里的去改)
local_conf = '''# 使用前请阅读文档:https://bili33.top/posts/MHYY-AutoCheckin-Manual-Gen2
# 有问题请前往Github开启issue:https://github.com/GamerNoTitle/MHYY/issues
######## 以下为账号配置项,可以多账号,详情请参考文档 ########
accounts:
# 第一个账号
- token: 你的token
type: 2
sysver: 13
deviceid: UUID
devicename: 设备名称
devicemodel: 设备型号
appid: 1953439974
'''
def ReadConf(variable_name, default_value=None):
# Try to get the variable from the environment
env_value = local_conf
if env_value:
config_data = yaml.load(env_value, Loader=yaml.FullLoader)
return config_data
# If not found in environment, try to read from config.yml
try:
with open("config.yml", "r", encoding='utf-8') as config_file:
config_data = yaml.load(config_file, Loader=yaml.FullLoader)
return config_data
except FileNotFoundError:
return default_value
这样应该能解决问题
确实是可以执行了,但我看日志里好像只执行了一段?没有执行签到的代码。
你先把刚刚判断错误位点的print都去掉,然后把下面这两行删掉,云函数有最大运行时间所以不能再加随机延迟
说错了 是三行 包括下面的sleep
好的我试试
按你要求都删了
你这。。。。。。。。 下面的代码呢???????
如果你需要的话,加我qq我把云函数账号给你,你测试吧
OK
加你了
把配置写在同级目录的config.yml内