Python 未定义从Bash getenv运行
我正在尝试从bash运行我的程序 我得到以下错误: 文件“/Users/tai/Desktop/FlashY/FlashY/sniffer/awsAccess.py”,第8行,在 aws_访问_密钥_id=getenv('aws_访问_密钥') NameError:未定义名称“getenv” 我将导出保存在bash_配置文件中。我检查了一下,发现他们都在那里: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
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。