奇妙なimport
エラーが原因で、Mercurial拡張機能をインストールできません。
mercurial_keyring
プロジェクトでmercurialを使用するたびにユーザー名とパスワードを入力する必要がないように、拡張機能を実行しようとしています。
Python2.7.1を使用しています。https://www.mercurial-scm.org/で提供されているバイナリを使用してMercurialをインストールしました。
インストールkeyring
しmercurial_keyring
ましたpip
。
私は最初にこれをに追加することによって拡張機能を追加しようとしました~/.hgrc
:
[extensions]
...
mercurial_keyring =
ここのインストール手順に示されているように。ただし、次のエラーが発生しました。
*** failed to import extension mercurial_keyring: No module named mercurial_keyring
同じインストール手順から、mercurialをmercurial_keyring.py
ファイルに直接ポイントしてみましたが、うまくいきました。
[extensions]
...
hgext.mercurial_keyring = /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/mercurial_keyring.py
そして、物事は進んでいるように見えました。
ただし、パスワードを必要とするMercurialコマンドを実行して、(たとえば)によって保存されるようにしようとすると、keyring
エラーが 発生します。hg pull
hg push
abort: No module named keyring!
最も紛らわしい部分は、明確なものがあるということです
import keyring
その28行目mercurial_keyring.py
は問題なく解決されています。実際、import keyring
クラスやメソッドの外部では成功し、内部では失敗します。
念のため、このエラーは、次のことを試みたときにメソッドmercurial_keyring.py
のPasswordStore
クラスで発生することを説明します。get_http_password
return keyring.get_password(...)
何かご意見は?
私は明らかな何かが欠けていると感じていますが、私はこれを理解するためにかなりの時間を費やしてきました、そしてグーグルは今のところ特に役に立ちませんでした。どんな入力でも大歓迎です。