2015-08-20 4 views
0

Django 1.8, Heroku, Powershell.Настройка переменной окружения в Heroku (через powershell) со специальными символами

Я пытаюсь установить переменные окружения для моего Джанго секретного ключа в Heroku:

(venv) PS WORKFOLDER> heroku config:set SECRET_KEY=eoik6-&dnr9elgmrt7-%3hu_&37$3hg!9c6x!^khjr3!z*z&b4 

я получаю эту ошибку Сообща (в 3 раза - с тех пор у меня есть 3 амперсанда в строке):

At line:1 char:77 
+ heroku config:set SECRET_KEY=eoik6-&dnr9elgmrt7-%3hu_&37$3hg!9c6x!^khjr3!z*z&b4 
+                    ~ 
The ampersand (&) character is not allowed. The & operator is reserved for future use; wrap an ampersand in double 
quotation marks ("&") to pass it as part of a string. 
    + CategoryInfo   : ParserError: (:) [], ParentContainsErrorRecordException 
    + FullyQualifiedErrorId : AmpersandNotAllowed 

Когда я попробовал предложенное решение (поставить двойные кавычки вокруг амперсанд):

(venv) PS WORKFOLDER> heroku config:set SECRET_KEY=eoik6-"&"dnr9elgmrt7-%3hu_"&"37$3hg!9c6x!^khjr3!z*z"&"b4 

Я получил эту ошибку:

SECRET_KEY: eoik6- 
'dnr9elgmrt7-%3hu_' is not recognized as an internal or external command, operable program or batch file. 
'37$3hg!9c6x!^khjr3!z*z' is not recognized as an internal or external command, operable program or batch file. 
'b4' is not recognized as an internal or external command, operable program or batch file. 

Я также попытался бежать с косыми чертами, поставив в кавычках всей строки и т.д. Тот же результат. Итак, как я могу установить переменную окружения?

ответ

1

Я не знаком с Heroku, но при условии, что heroku является исполняемым и config:set SECRET_KEY=eo... является аргументом командной строки, вы можете попробовать это:

& 'heroku' @('config:set', 'SECRET_KEY=eoik6-"&"dnr9elgmrt7-%3hu_"&"37$3hg!9c6x!^khjr3!z*z"&"b4') 
+0

Я просто попробовал. Это тоже работает! Благодаря! Кажется, наши ответы перекрываются. – woodduck

+1

@woodduck Спасибо, PS несколько сложнее с внешними исполняемыми файлами и параметрами командной строки, см. [Этот ответ] (http://stackoverflow.com/a/29565317/4424236), чтобы понять, почему этот код работает. – beatcracker

0

Я просто попробовал несколько вещей, и это работает, когда вы кладете сингл кавычки вокруг всего VALUE (и двойные кавычки вокруг амперсанд):

heroku config:set SECRET_KEY='eoik6-"&"dnr9elgmrt7-%3hu_"&"37$3hg!9c6x!^khjr3!z*z"&"b4' 

проверяемый командой heroku config

Смежные вопросы