Как я могу получить расширение keyring, работающее для mercurial в Ubuntu 18.04?

Я перепробовал десятки руководств по установке расширений mercurial и keyring в Ubuntu, но так и не смог заставить работать расширение keyring. Это было несложно под Windows.

Я установил Mercurial множеством разных способов. Я не уверен, имеет ли метод установки какое-либо отношение к связке ключей, но вот несколько вещей, которые я попробовал:

  • sudo apt-get установить mercurial
  • sudo apt установить Mercurial
  • pip install mercurial
  • ... и так далее.

Я даже использовал этот метод, где он компилирует Mercurial.

Все эти методы работают для ртути. Это работает. Я могу делать коммиты и т. Д. keyring а также mercurial_keyring установки, которые доставляют мне неприятности. Я установил оба из тех, кто использует pip install, Когда я делаю команду вроде:

hg out http://somerepo

На данный момент я получаю следующее сообщение:

Не удалось найти обработчики для логгера "keyring.backend"

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

1 ответ

pip uninstall keyring

Причина в том, что в python уже установлена ​​библиотека python-keyring, которая конфликтует с той, что установлена ​​в pip. Кредиты на горе библиотеки Python в Ubuntu 18.04 Кай Кениг

Редактировать: история на самом деле не закончилась, потому что она должна была избавиться от этой ошибки, но не была фактическим решением. Я должен был продолжить с этими командами

pip install keyrings.alt
pip install keyring

(да, я установил его обратно)

python -c "import keyring.util.platform_; print(keyring.util.platform_.config_root())"

Это было взято из документа ключей. Оказалось, что моя папка конфигурации, показанная этой командой, не была создана, поэтому я сделал:

mkdir ~/.local/share/python_keyring
vi ~/.local/share/python_keyring/keyringrc.cfg

Мне также пришлось создать файл.cfg и поместить его внутрь (на моем MacOS Mojave!):

[backend]
default-keyring=keyring.backends.OS_X.Keyring

Теперь все работает нормально, пароль не спрашивается

Другие вопросы по тегам