Как я могу получить расширение 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
Теперь все работает нормально, пароль не спрашивается