2010-04-02 5 views
14

우리는 Mercurial을 직장에서 시험 운전하고 있습니다. 저장소와 상호 작용할 때마다 사용자/패스를 입력 할 필요가 없으므로 mercurial_keyring 확장을 설정합니다. 우리 : 2.6.5 (32 또는 64 비트 시스템에 따라 다름) (easy_install.exe에 대한) Windows 7 x64에서 정상 작동하지 않는 확장 기능은 없습니까?

  • 설치 setuptools에
  • easy_install을 열쇠 고리
  • easy_install을 mercurial_keyring
  • 파이썬 설치

    • 그런 다음 [auth] 섹션에서 % userprofile %/mercurial.ini를 적절하게 변경했습니다. 내 동료의 컴퓨터 (32 비트 XP SP3)에서 제대로 작동하지만 내 컴퓨터 (Windows 7 Ultimate x64)에서는 작동하지 않습니다. 또한 주목할만한 점은 setuptools는 Win 7 x64 (python setup.py bdist_wininst)의 소스에서 빌드 한 다음 결과 setuptools-0.6c11.win-amd64.exe를 실행해야한다는 것입니다.

      내 mercurial.ini을 변경하려고

      *** failed to import extension mercurial_keyring: No module named mercurial_keyring

      , 지정 : 나는 hg.exe을 실행할 때 의욕 1.5 바이너리 설치 (의 .msi)에서 불과 hg.exe 사용

      ,이 오류가 발생합니다 mercurial_keyring.py 파일에 대한 경로 (수은이 PYTHONPATH에 있기 때문에)를 찾아야합니다.

      올드 :

      [extensions] 
      mercurial_keyring = 
      

      새로운 기능 :에

      [extensions] mercurial_keyring = 
      c:/mercurial/extensions/mercurial_keyring.py 
      

      오류 변경 :

      abort: could not import module keyring!

      그래서 동안 mercurial_keyring 확장 작업의 경로를 제공 여전히 종속 열쇠 고리 모듈 찾을 수 없다.

      추가 조사가 끝난 후 확장 기능이 작동하지 않는 것처럼 보입니다.

      *** failed to import extension [extension name]: No module named [module name]

      hg.exe을 실행할 때, 그것은 PYTHONPATH 인식하지 않은 것 같습니다 : 그들은 모두 오류를 생성합니다. 나는 시도했다 :

      • 파이썬 2.6.5 32 비트 HG를 사용 MSVC9
      • 와 소스
      • 건물 의욕 1.5는 MinGW와 소스
      • 파이썬 2.6.5 64 비트
      • 건물 의욕 1.5 .exe에서 1.5 바이너리 dist (.msi)
      • 소스에서 빌드 할 때 c : \ python26 \ scripts의 hg.py 사용
      • % userprofile %/mercurial.ini의 다양한 구성
      • 키링과 mercurial_keyring을 설치하기 위해 setuptools (easy_install.exe) 사용하기
      • 소스에서 키링과 mercurial_keyring을 빌드하십시오 (파이썬 설정.py bdist_wininst)

      아무것도 작동하지 않습니다. 가장 가까운 것은 소스에서 빌드 할 때 hg.py를 사용하는 것입니다. 최소한 저에게 오류를주지는 않으며, 실제로 자격 증명을 입력 할 때 % userprofile %/wincrypto_pass.cfg를 만듭니다. 그러나 후속 요청에서는 자격 증명을 자동으로 입력하지 않습니다. 그것은 그들을 다시 나에게 묻습니다. 흥미롭게도, TortoiseHG 은 키링을 사용하여이다. 명령 줄에서 작업 할 수 없습니다. 나는 Win 7 x64에서 PYTHONPATH를 볼 때 수은 (hg.exe)을 막아내는 무언가가 일어나고있어 설치된 모듈을 찾을 수 없다고 생각합니다.

      누구나 Windows 7 x64에서 작동하는 확장 프로그램이 있습니까? 특히 mercurial (hg.py 아님)의 바이너리 설치를 사용 하시겠습니까?

      업데이트 나는 지금 당장 적절한 해결 방법을 찾았습니다. TortoiseHG 이 mercurial_keyring과 작동하기 때문에 tortoiseHG 폴더를 포함하도록 PATH 설정을 변경했지만 c : \ mercurial은 변경하지 않았습니다. 이제 명령 행에 "hg"라고 ​​입력하면 tortoiseHG 폴더에있는 hg.exe가 제대로 작동합니다. 마찬가지로, 이것은 Win 7 x64에서 수은 확장 기능을 사용할 때 여전히 문제입니다. 답변 환영합니다.

    답변

    17

    아직 다른 수취인이 없기 때문에 이전 업데이트에서 내 질문에 대답합니다.

    적절한 해결 방법 : TortoiseHG 이 mercurial_keyring와 작업을 수행하기 때문에 가 tortoiseHG 폴더을 포함에, 난 그저 내 PATH를 변경했습니다, 그리고 C를 제외 : 수은 \. 이제 명령 행에 "hg"라고 ​​입력하면 tringoiseHG 폴더의 hg.exe가 사용됩니다.이 키는 키링과 잘 작동합니다.

    +0

    'C : \ Program Files \ TortoiseHg'가 PATH에 존재합니다. 다른 Mercurial 버전을 제거해야만합니다 : –

    4

    내가 사용하고 있습니다 :

    • 윈도우 서버 2008 SP2 x86에서 :
      • 파이썬 2.6.5 86
      • 의욕 1.5.1 86
      • TortoiseHg 1.0.1 86
    • (Windows Server 2008 R2) :
      • 파이썬 2.6.5 86
      • 의욕 1.5.1 86
      • TortoiseHg 1.0.1 64 모두 설정에

    , 모든 구성 확장 오류없이로드됩니다.

    모든 도구는 해당 사이트에서 제공되는 설치 프로그램을 사용하여 설치됩니다. Mercurial은 PATH에있는 TortoiseHg 앞에 나타납니다. 두 도구 모두에 공통 설정 파일 ~/.hgrc을 사용하고 있습니다. mercurial_keyring 확장자 만로드하는 TortoiseHg 설치 폴더에있는 Mercurial.ini 파일을 사용하고 있습니다.

    명령 줄에서 암호가 필요할 때마다 입력해야하지만 TortoiseHg에서는 키 링 확장 기능이 완벽하게 작동합니다.의욕 위키에 Keyring Extension 페이지에서

    :

    If you are on Windows, we recommend you use TortoiseHg. THG ships with Windows specific keyring backends, without which the mercurial-keyring extension cannot function properly on Windows.

    UPDATEhttp://asimilatorul.com/adapter/post/using-mercurial_keyring-extension-with-mercurial-on-windows/

    당신은 의욕의 library.zip에 TortoiseHg의 library.zip에서 필요한 파일을 복사 할 수 있습니다 :

    • hgext \ mercurial_keyring.pyo
    • keyring__init __. 이영표는
    • 키링 \의 backend.pyo
    • 키링 \의 core.pyo
    • 는 TortoiseHG 만들 수있는 몇 가지 추가 구성 요소가 그
    +0

    키 링 확장 기능이 TortoiseHg에서 작동한다는 것을 알고 있습니다. hg.exe는 실행될 때 PYTHONPATH를 보지 못하기 때문에 아무 확장도 찾을 수 없으므로 수은 설치에서 설치된 hg.exe에서는 작동하지 않습니다. * 오직 * tortoiseHG에만 해당되는 Mercurial.ini에서 키링 확장을로드하기 때문에, 당신은 hg.exe와 함께 그것을로드하려고 시도하지 않습니다. Server 2008 R2 시스템의 ~/.hgrc에 확장을 추가하고 작동하는지 확인하십시오. 그게 문제 야. –

    +0

    내 설정의 요점은 TortoiseHg에 대해서만 키링을로드하는 것입니다. 하지만 다른 모든 확장 기능은 WS2008 R2 x64 (Windows 7 x64와 똑같이 동작해야 함)에서 Mercurial로 잘 작동합니다. – alexandrul

    4

    The extension page 상태를 win32_crypto.pyd 그것은 Windows에서 작동하며 제대로 작동하지 않으면 작동하지 않습니다. TortoiseHG 버전을 참조하는 해결 방법이 Windows에서 작업하는 가장 쉬운 방법 일 수 있습니다.