Python没有';不能识别环境变量

Python没有';不能识别环境变量,python,environment-variables,xsl-fo,Python,Environment Variables,Xsl Fo,我正在尝试按照教程将XSL-FO转换为PDF,但要做到这一点,我需要运行一个使用名为FOP_CMD的环境变量的命令: doc = Document(tfactory('/home/username/Downloads/file.fo')) doc.generate(params, oformat='pdf') 我将环境变量保存在文件~/etc/environment中,如果我在终端中运行echo$FOP\u CMD,它将为我提供正确的路径:/home/username/FOP-1.1 但是,在

我正在尝试按照教程将XSL-FO转换为PDF,但要做到这一点,我需要运行一个使用名为FOP_CMD的环境变量的命令:

doc = Document(tfactory('/home/username/Downloads/file.fo'))
doc.generate(params, oformat='pdf')
我将环境变量保存在文件
~/etc/environment
中,如果我在终端中运行
echo$FOP\u CMD
,它将为我提供正确的路径:
/home/username/FOP-1.1

但是,在运行应用程序时,编译器会告诉我以下情况:
异常:无法找到执行FOP的路径。请检查环境变量“FOP\u CMD”

奇怪的是,在Windows中,我可以毫无问题地运行命令,并且环境变量指向相同的路径,但在Ubuntu中,这个错误就出现了

我还尝试将路径更改为
/home/username/fop-1.1/fop
(遵循post中给出的建议),但它始终给出相同的错误


有人知道我做错了什么吗?

尝试在Python程序中设置环境变量,如下所示:

import os

if not 'FOP_CMD' in os.environ:
    os.environ['FOP_CMD'] = '/home/username/fop-1.1'

您能否尝试让python打印
FOP\u CMD
变量来帮助缩小问题范围。您需要添加
导入os
,然后
打印(os.environ['FOP_CMD']
。请参见.wird…它给了我这个错误:
回溯(最近一次调用):文件“main.py”,第10行,打印(os.environ['FOP_CMD'])文件“/usr/lib/python2.7/UserDict.py”,第23行,在u getitem_uuuuuuuuuuuuuuuuuuuuuuuuuuuu中,raiser键错误(key)KeyError:'FOP_CMD'
但是如果我尝试打印路径,它会打印出来。你知道这个错误的原因吗?
KeyError
表明Python没有任何记录你的
FOP_CMD
变量。你能在像这样运行命令时显式地指定变量吗:
FOP_CMD=“/home/username/fop-1.1”yourscript.py
>好吧,它就是这样工作的:
sudo fop_CMD=“/home/username/fop-1.1”python main.py
。但是没有办法让这个“持久化”吗?因为这不是运行程序的正确方式。你能发布你的
~/etc/environment