Supervisor: Die Konfigurationsoption "Umgebung" akzeptiert kein "%"-Zeichen, selbst wenn es in Anführungszeichen steht

Erstellt am 27. Sept. 2013  ·  4Kommentare  ·  Quelle: Supervisor/supervisor

Beim Festlegen des Parameters environment= in einer Konfigurationsdatei gibt das Zeichen % einen Error: Format string 'KEY="%"' for 'environment' is badly formatted Fehler zurück.

z.B

Okay: environment=SECRET_KEY="*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wkyi"

Defekt: environment=SECRET_KEY="*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wky%i"

Defekt: environment=FOO="%"

Defekt: environment=FOO="\%"

environment

Hilfreichster Kommentar

Defekt: environment=SECRET_KEY="*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wky%i"

Sie sollten in der Lage sein, ein % einzufügen, indem Sie %% .

Supervisor verwendet beim Parsen der Konfigurationsdatei Python-String-Interpolation, sodass Sie sie wie folgt testen können:

$ python
>>> "*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wky%i" % {}
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: %d format: a number is required, not dict

Mit %% :

>>> "*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wky%%i" % {}
'*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wky%i'

Alle 4 Kommentare

Defekt: environment=SECRET_KEY="*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wky%i"

Sie sollten in der Lage sein, ein % einzufügen, indem Sie %% .

Supervisor verwendet beim Parsen der Konfigurationsdatei Python-String-Interpolation, sodass Sie sie wie folgt testen können:

$ python
>>> "*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wky%i" % {}
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: %d format: a number is required, not dict

Mit %% :

>>> "*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wky%%i" % {}
'*wi4h$kqxp84f3w6uh8w@l$0(+@x$3cr&)z^lmg+pqw^6wky%i'

Hi,

Ich stand vor einem ähnliches Problem mit config in environment= Parametern innerhalb [supervisord] Block.

Ich habe einen Parameter mit dem Zeichen % . Ich habe die vorgeschlagene Lösung ausprobiert (mit 2 % Zeichen), aber ich konnte das Problem nicht lösen.

Die Beispielzeichenfolge zum Ausprobieren: x1it3km%2BTVmkRsQ
Erhalten folgenden Fehler für diese Zeichenfolge

Fehler: Formatstring 'SECRET="x1it3km%2BTVmkRsQ"' für 'supervisord.environment' ist falsch formatiert: nicht unterstütztes Formatzeichen 'B'

Ich denke, das hat etwas mit einer Zahl zu tun, die dem Zeichen % folgt, aber ich bin mir nicht sicher.
Irgendwelche Ideen?

@chinmaybhoir es ist der Fall ... es betrachtet %2 als ein spezielles Zeichen oder so .... In meinem Fall war ich auf Django, also entferne ich einfach jedes % im Schlüssel und es hat gut funktioniert

Es wäre erstaunlich, wenn Supervisor % s in Strings automatisch maskieren könnte (z. B. wird %(ENV_SECRET_KEY) derzeit zu x1it3km%2BTVmkRsQ , was ungültig ist, aber ich möchte, dass es erweitert wird auf x1it3km%%2BTVmkRsQ .Auf diese Weise müsste ich meinen geheimen Django-Schlüssel nicht ändern, um den Supervisor glücklich zu machen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen