Supervisor: Opsi konfigurasi "lingkungan" tidak menerima karakter "%" bahkan ketika dikutip

Dibuat pada 27 Sep 2013  ·  4Komentar  ·  Sumber: Supervisor/supervisor

Saat menyetel parameter environment= dalam file konfigurasi, tanda % mengembalikan kesalahan Error: Format string 'KEY="%"' for 'environment' is badly formatted .

misalnya

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

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

Rusak: environment=FOO="%"

Rusak: environment=FOO="\%"

environment

Komentar yang paling membantu

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

Anda harus dapat memasukkan % dengan menggunakan %% .

Supervisor menggunakan interpolasi string Python saat mem-parsing file konfigurasi, sehingga Anda dapat mengujinya seperti ini:

$ 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

Dengan %% :

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

Semua 4 komentar

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

Anda harus dapat memasukkan % dengan menggunakan %% .

Supervisor menggunakan interpolasi string Python saat mem-parsing file konfigurasi, sehingga Anda dapat mengujinya seperti ini:

$ 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

Dengan %% :

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

Hai,

Saya menghadapi masalah yang sama dengan konfigurasi di environment= parameter dalam [supervisord] blok.

Saya memiliki parameter dengan tanda % . Saya mencoba solusi yang disarankan (menggunakan 2 tanda % ), tetapi saya belum dapat menyelesaikan masalah.

Contoh string untuk dicoba: x1it3km%2BTVmkRsQ
Mendapatkan kesalahan berikut untuk string ini

Kesalahan: Format string 'SECRET="x1it3km%2BTVmkRsQ"' untuk 'supervisord.environment' diformat dengan buruk: karakter format tidak didukung 'B'

Saya pikir ini ada hubungannya dengan angka yang mengikuti tanda % , tapi saya tidak yakin.
Ada ide?

@chinmaybhoir itu kasusnya ... itu menganggap %2 seperti caracter khusus atau sesuatu seperti itu .... Dalam kasus saya, saya menggunakan Django jadi saya hanya menghapus setiap % dalam kunci dan itu berfungsi dengan baik

Akan luar biasa jika supervisor dapat secara otomatis keluar dari % s dalam string (misalnya, %(ENV_SECRET_KEY) saat ini berkembang menjadi x1it3km%2BTVmkRsQ , yang tidak valid, tetapi saya ingin itu berkembang ke x1it3km%%2BTVmkRsQ Dengan cara ini, saya tidak perlu mengubah kunci rahasia Django saya untuk membuat supervisor senang.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat