如何使用 Python 和 Bokeh 加载 GOOGLE_API_KEY
How to load GOOGLE_API_KEY with Python and Bokeh
我正在尝试通过下面所示的 Bokeh 网站上的示例自学使用 Bokeh,
我写了下面的代码;
import os
from bokeh.models import GMapOptions
from bokeh.plotting import gmap
map_options = GMapOptions(lat=30.2861, lng=-97.7394, map_type="roadmap", zoom=11)
# Replace the value below with your personal API key:
api_key = os.environ["GOOGLE_API_KEY"]
p = gmap(api_key, map_options, title="Austin")
data = dict(lat=[ 30.29, 30.20, 30.29],
lon=[-97.70, -97.74, -97.78])
p.circle(x="lon", y="lat", size=15, fill_color="blue", fill_alpha=0.8, source=data)
show(p)
但是,当我 运行 脚本失败并出现以下错误时
Traceback (most recent call last):
File "/Users/jonwebb/Desktop/Tests/property/properties.py", line 71, in <module>
api_key = os.environ["GOOGLE_API_KEY"]
File "/usr/local/Cellar/python@3.9/3.9.1_2/Frameworks/Python.framework/Versions/3.9/lib/python3.9/os.py", line 679, in __getitem__
raise KeyError(key) from None
KeyError: 'GOOGLE_API_KEY'
这个例子直接来自 Bokeh 教程,所以它应该可以工作。有谁知道这个问题的原因吗?
您可以替换
api_key = os.environ["GOOGLE_API_KEY"]
和
api_key = "YOUR_API_KEY"
"YOUR_API_KEY" 应替换为您实际的 API 密钥。您还可以将环境变量 GOOGLE_API_KEY 设置为您的 API 密钥。
os.environ
是 Python 标准库机制来访问 OS 环境变量。因此,要按原样使用上面的代码,请设置 GOOGLE_API_KEY
环境变量(这因 OS 和 shell 而异,您必须根据自己的情况查找具体信息)。
但还要注意,Bokeh 中的任何内容都不需要您以这种方式做事。本示例使用环境变量,因为它很方便。但最终,Bokeh 只关心将 API 键字符串作为参数传递给 gmap
函数。如何获取字符串取决于你,如果你不想使用环境变量,你可以从文件中读取它,或者在脚本中对其进行硬编码(但如果你这样做,请避免将其签入修订控制这个)。
您可以使用 python-dotenv 并在项目的根目录上创建一个 .env 文件,加载环境并使用 os.getenv('env_name')
import os
from dotenv import load_dotenv, find_dotenv
load_dotenv(find_dotenv())
os.getenv('GOOGLE_API_KEY')
在您的 .env
文件中:
GOOGLE_API_KEY=something-goes-here
检查 lib here
我正在尝试通过下面所示的 Bokeh 网站上的示例自学使用 Bokeh,
我写了下面的代码;
import os
from bokeh.models import GMapOptions
from bokeh.plotting import gmap
map_options = GMapOptions(lat=30.2861, lng=-97.7394, map_type="roadmap", zoom=11)
# Replace the value below with your personal API key:
api_key = os.environ["GOOGLE_API_KEY"]
p = gmap(api_key, map_options, title="Austin")
data = dict(lat=[ 30.29, 30.20, 30.29],
lon=[-97.70, -97.74, -97.78])
p.circle(x="lon", y="lat", size=15, fill_color="blue", fill_alpha=0.8, source=data)
show(p)
但是,当我 运行 脚本失败并出现以下错误时
Traceback (most recent call last):
File "/Users/jonwebb/Desktop/Tests/property/properties.py", line 71, in <module>
api_key = os.environ["GOOGLE_API_KEY"]
File "/usr/local/Cellar/python@3.9/3.9.1_2/Frameworks/Python.framework/Versions/3.9/lib/python3.9/os.py", line 679, in __getitem__
raise KeyError(key) from None
KeyError: 'GOOGLE_API_KEY'
这个例子直接来自 Bokeh 教程,所以它应该可以工作。有谁知道这个问题的原因吗?
您可以替换
api_key = os.environ["GOOGLE_API_KEY"]
和
api_key = "YOUR_API_KEY"
"YOUR_API_KEY" 应替换为您实际的 API 密钥。您还可以将环境变量 GOOGLE_API_KEY 设置为您的 API 密钥。
os.environ
是 Python 标准库机制来访问 OS 环境变量。因此,要按原样使用上面的代码,请设置 GOOGLE_API_KEY
环境变量(这因 OS 和 shell 而异,您必须根据自己的情况查找具体信息)。
但还要注意,Bokeh 中的任何内容都不需要您以这种方式做事。本示例使用环境变量,因为它很方便。但最终,Bokeh 只关心将 API 键字符串作为参数传递给 gmap
函数。如何获取字符串取决于你,如果你不想使用环境变量,你可以从文件中读取它,或者在脚本中对其进行硬编码(但如果你这样做,请避免将其签入修订控制这个)。
您可以使用 python-dotenv 并在项目的根目录上创建一个 .env 文件,加载环境并使用 os.getenv('env_name')
import os
from dotenv import load_dotenv, find_dotenv
load_dotenv(find_dotenv())
os.getenv('GOOGLE_API_KEY')
在您的 .env
文件中:
GOOGLE_API_KEY=something-goes-here
检查 lib here