我第一次使用服务器。它有Ubuntu 18.04。
我从未使用过该操作系统,但经过一些指导之后,我设法使我的代码正常工作,但环境变量除外。
在文件末尾的~/.bashrc中,我添加了export KEY="123asd"。
然后我重新装上了终端。
我检查了我的环境变量是否是通过printenv KEY加载的,它显示了正确的值。
在我的main.py中有:
import os
import telebot
API_KEY = os.getenv("KEY")
bot = telebot.TeleBot(API_KEY)当我使用pm2 start main.py --interpreter=python3运行它时,日志中有一个错误:
raise Exception('Bot token is not defined')
Exception: Bot token is not defined如果我正确理解,这意味着API_KEY是None,所以环境变量有一个问题。
我尝试给API_KEY一个实际值,而不是一个环境变量,它运行得很好。
那么,我还需要做什么才能正确地使用环境变量呢?
发布于 2022-08-14 20:00:08
我找错地方了。
如果我想使用pm2,那么我需要创建一个ecosystem.config.js文件并给它我的变量。如下所示:
module.exports = {
apps : [{
name: "main.py",
env: {
KEY: "123asd"
}
}]
}它能工作,只是我不确定它是否正确,因为我的main.py有超过一个进程(一个在线,另一个错误)
https://stackoverflow.com/questions/73346468
复制相似问题