在FastAPI网站学python:环境变量 Python Environment Variables
学习网址:Environment Variables - FastAPI
环境变量(也称为“env var”)是位于操作系统中Python代码之外的变量,可以被Python代码(或其他程序)读取。
作为安装Python等的一部分,环境变量对处理应用程序设置很有用。
创建和使用环境变量Env Vars¶
可以在shell(终端)中创建和使用环境变量,而无需Python:
# You could create an env var MY_NAME with
export MY_NAME="Wade Wilson"# Then you could use it with other programs, like
echo "Hello $MY_NAME"#output:Hello Wade Wilson
当然如果是在c shell下,使用setenv 来创建环境变量。
% setenv test 66
% echo $test
66
在Python中读环境变量env vars¶
可以在Python之外、在终端(或任何其他方法)中创建环境变量,然后在Python中读取它们。
例如,创建一个文件main.py
,包含:
import osname = os.getenv("MY_NAME", "World")
print(f"Hello {name} from Python")
然后在终端执行:
python3.11 main.py
Hello Wade Wilson from Python
因为前面设置了环境变量 MY_NAME是"Wade Wilson",所以代码里的name变量被赋值为"Wade Wilson" 。多说一句,如果环境里没有设置MY_NAME ,那么name = os.getenv("MY_NAME", "World")这句话会赋值“World”为变量name,最后输出就是:Hello World from Python 。
在python交互命令中执行也可以获取环境变量:
>>> import os
>>>
>>> name = os.getenv("MY_NAME", "World")
>>> print(f"Hello {name} from Python")
Hello Wade Wilson from Python
类型和验证¶
这些环境变量只能处理文本字符串,因为它们是Python的外部,必须与其他程序和系统其他部分(甚至与Linux、Windows、macOS等不同的操作系统)兼容。
这意味着从环境变量在Python中读取的任何值都将是str
,任何转换为其他类型的任何验证都必须在代码中完成。
您将在高级用户指南-设置和环境变量中了解有关使用环境变量来处理应用程序设置的更多信息。
PATH
环境变量¶
有一个名为PATH
的特殊环境变量,操作系统(Linux、macOS、Windows)用它来查找要运行的程序。
变量PATH
的值是一个长字符串,由以冒号分隔的目录组成:
在Linux和macOS上,在Windows上由分号分隔。
例如,PATH
环境变量可能看起来像这样:
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
当在终端中键入命令时,操作系统会在PATH
环境变量中列出的每个目录中寻找程序。
例如,当在终端中键入python
,操作系统会在该列表中的第一个目录中查找一个名为python
的程序。
如果它找到它,那么它就会使用它。否则,它会一直查看其他目录。
安装Python并更新PATH
¶
当安装Python时,系统可能会询问您是否要更新PATH
环境变量。
假设安装了Python到这个目录/opt/custompython/bin,
如果同意更新PATH
环境变量,那么安装程序将向PATH
环境变量添加/opt/custompython/bin
。
它可能看起来像这样:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/custompython/bin
这样,当在终端中键入python
时,系统将在/opt/custompython/bin
(最后一个目录)中找到Python程序并使用该程序。
相当于输入:
/opt/custompython/bin/python