Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.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 未定义从Bash getenv运行_Python_Bash - Fatal编程技术网

Python 未定义从Bash getenv运行

Python 未定义从Bash getenv运行,python,bash,Python,Bash,我正在尝试从bash运行我的程序 我得到以下错误: 文件“/Users/tai/Desktop/FlashY/FlashY/sniffer/awsAccess.py”,第8行,在 aws_访问_密钥_id=getenv('aws_访问_密钥') NameError:未定义名称“getenv” 我将导出保存在bash_配置文件中。我检查了一下,发现他们都在那里: vim ~/.bash_profile 我在awsAccess中的代码如下所示: #aswAccess holds the names

我正在尝试从bash运行我的程序

我得到以下错误:

文件“/Users/tai/Desktop/FlashY/FlashY/sniffer/awsAccess.py”,第8行,在 aws_访问_密钥_id=getenv('aws_访问_密钥')

NameError:未定义名称“getenv”

我将导出保存在bash_配置文件中。我检查了一下,发现他们都在那里:

vim ~/.bash_profile
我在awsAccess中的代码如下所示:

#aswAccess holds the names of the bash environment set keys.
#used by other classes to create a connection to aws
aws_access_key_id=getenv('AWS_ACCESS_KEY');
aws_secret_access_key=getenv('AWS_SECRET_KEY');
aws_dynamo_region=getenv('DYANAMO_REGION')
密钥名称(不确定如何称呼)与我的bash_配置文件中的匹配

我正在看一个使用getenv的示例,它运行得很好。我正在开发最新的osx,Python2.7,从BashShell运行,等等。不确定出了什么问题


谢谢

getenv
是操作系统模块中的一个函数,除非正确导入,否则不能单独调用它

因此,在文件的顶部放置:

import os
并将函数调用更改为
os.getenv()
。或者,单独导入函数:

from os import getenv

啊,我真傻,谢谢你!奇怪的是,示例中没有,可能是设计为伪代码:S@TaiHirabayashi没问题。如果它仍然无法工作,请确保您已经运行了
source~/.bash\u profile
或打开了一个新的shell。