Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Jupyter笔记本中设置环境变量的不同方法_Python_Google Cloud Platform_Jupyter Notebook - Fatal编程技术网

Python Jupyter笔记本中设置环境变量的不同方法

Python Jupyter笔记本中设置环境变量的不同方法,python,google-cloud-platform,jupyter-notebook,Python,Google Cloud Platform,Jupyter Notebook,在某些情况下,我在Windows 10机器上使用Jupyter笔记本,我想通过设置环境变量“GOOGLE_APPLICATION_CREDENTIALS”将自己验证到GCP中 我想知道,设置环境变量的两种方法之间有什么区别?当我尝试访问大查询时,第一种方法有效,但第二种方法无效 第一种方法 import os os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = 'path-to-json-file-windows-style-dir' 第二种方法是使用

在某些情况下,我在Windows 10机器上使用Jupyter笔记本,我想通过设置环境变量“GOOGLE_APPLICATION_CREDENTIALS”将自己验证到GCP中

我想知道,设置环境变量的两种方法之间有什么区别?当我尝试访问大查询时,第一种方法有效,但第二种方法无效

第一种方法

import os
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = 'path-to-json-file-windows-style-dir'
第二种方法是使用魔法命令

%env GOOGLE_APPLICATION_CREDENTIALS="path-to-json-file-windows-style-dir"
在使用第二种方法设置env变量后,当我尝试使用该变量时,会出现错误

DefaultCredentialsError: File path-to-json-file-windows-style-dir was not found.
这很奇怪,因为错误是打印出环境变量的正确值,并且路径是正确的

这是我用来访问大查询数据的代码,直接取自谷歌的文档:

from google.cloud import bigquery

client = bigquery.Client()

# Perform a query.
QUERY = (
    'SELECT name FROM `bigquery-public-data.usa_names.usa_1910_2013` '
    'WHERE state = "TX" '
    'LIMIT 100')
query_job = client.query(QUERY)  # API request
rows = query_job.result()  # Waits for query to finish

for row in rows:
    print(row.name)

结果表明,设置变量的两种方法产生了相同的结果。问题解决了,因为我在第一个方法中为变量添加了引号,该方法成为变量的一部分。

结果表明,设置变量的两种方法产生了相同的结果。问题解决了,因为我在第一个方法中为变量添加了引号,该方法成为变量的一部分