为Python网络应用设置环境变量

2 投票
2 回答
14338 浏览
提问于 2025-04-15 13:11

我需要设置一些环境变量,这样我就可以运行一个使用PostgreSQL的数据库程序。

export PGDATA="/home/masi/postgres/var"
export PGPORT="12428"

我知道可以通过把文件添加到.zshrc来解决这个问题。不过,我不确定这样做是否正确。

怎么添加环境变量呢?

2 个回答

3

把这个放在你应用的主页面里的某个地方:

import os
os.environ["PGDATA"] = "/home/masi/postgres/var"
os.environ["PGPORT"] = 12428

不过,难道没有更好的方法来在你使用的框架中设置这个吗?

4

你只需要在启动服务器的脚本中设置PGDATA这个变量。客户端只关心端口号。

如果你想在一个非标准端口上运行它,那你必须设置端口值。我想你应该有个好理由不直接使用默认端口吧?如果你使用默认端口(5432),那么根本不需要设置任何参数,它就会自动工作。

如果你在不同的端口上运行,你需要做两个修改:

  • 在postgresql.conf文件中,把port=的值改成你想要的新端口,然后重启数据库服务器。
  • 在你的django项目的settings.py文件中,把DATABASE_PORT的值改成你想要的新端口。

对于这些简单的配置选项,你绝对不需要使用环境变量——避免使用它们会让你的生活更轻松。

撰写回答