Я пытаюсь сделать преобразования XSL-FO в PDF следуя this учебника, но для этого мне нужно запустить команду, которая использует переменную среды с именем FOP_CMD:Python не признает переменное окружение
doc = Document(tfactory('/home/username/Downloads/file.fo'))
doc.generate(params, oformat='pdf')
I сохранил переменную окружения в файле ~/etc/environment
, и если я запустил echo $FOP_CMD
в терминале, это даст мне правильный путь: /home/username/fop-1.1
.
Однако, при запуске приложения, компилятор говорит мне следующее: Exception: Unable to find the path to execute FOP.Check the environment variable "FOP_CMD"
Странная вещь, что в Windows, я могу выполнить команду без каких-либо проблем и envirnment переменных указывает на тот же путь, но в Ubuntu этот эррос появляется.
Я также попытался изменить путь к /home/username/fop-1.1/fop
(следуя рекомендациям, указанным в сообщении this), но он продолжает давать ту же ошибку.
Кто-нибудь знает, что я могу делать неправильно?
Вы можете попытаться получить питон напечатать переменную 'FOP_CMD', чтобы помочь сузить проблему. Вам нужно добавить 'import os', а затем' print (os.environ ['FOP_CMD'] '. См. [Os.environ] (https://docs.python.org/2/library/os.html#os. окружать) –
Weird ... это дает мне эту ошибку:. 'Traceback (самый последний вызов последнего): Файл "main.py", строка 10, в печати (os.environ [ 'FOP_CMD']) Файл «/usr/lib/python2.7/UserDict.py», строка 23, в __getitem__ raise KeyError (key) KeyError: 'FOP_CMD'' Но если я попытаюсь напечатать путь PATH, он отпечатает его в порядке. вы знаете, что может быть причиной этой ошибки? –
undisp
Хорошо, что 'KeyError' указывает, что у Python нет записи вашей переменной' FOP_CMD'. Можете ли вы попробовать явно указать переменную при запуске команды следующим образом: 'FOP_CMD = "/home/username/fop-1.1" yoursc ript.py'> –