Chúng tôi đang kiểm tra lái xe Mercurial tại nơi làm việc. Chúng tôi không muốn phải nhập người dùng của chúng tôi/vượt qua mỗi lần chúng tôi tương tác với một kho lưu trữ, vì vậy chúng tôi thiết lập phần mở rộng mercurial_keyring. Chúng tôi:Tiện ích mở rộng Mercurial không hoạt động trong Windows 7 x64?
- cài đặt Python 2.6.5 (32 hoặc 64 bit, tùy thuộc vào hệ thống)
- setuptools cài đặt (ví easy_install.exe)
- keyring easy_install
- easy_install mercurial_keyring
Và sau đó thực hiện các thay đổi thích hợp cho% userprofile%/mercurial.ini trong phần [auth]
. Nó hoạt động tốt trên máy tính của đồng nghiệp của tôi (32bit xp sp3), nhưng nó không hoạt động trên máy tính của tôi (Windows 7 Ultimate x64). Cũng đáng chú ý, các setuptools phải được xây dựng từ nguồn trên Win 7 x64 (python setup.py bdist_wininst
, sau đó chạy setuptools-0.6c11.win-amd64.exe).
Sử dụng chỉ hg.exe từ Mercurial 1,5 cài đặt nhị phân (msi), tôi nhận được lỗi này khi tôi chạy hg.exe:
*** failed to import extension mercurial_keyring: No module named mercurial_keyring
Tôi cố gắng để thay đổi mercurial.ini tôi, để xác định đường dẫn đến tệp mercurial_keyring.py, thay vì tìm kiếm nó bằng mercurial (vì nó nằm trong PYTHONPATH).
Cũ:
[extensions]
mercurial_keyring =
mới:
[extensions] mercurial_keyring =
c:/mercurial/extensions/mercurial_keyring.py
Những thay đổi lỗi:
abort: could not import module keyring!
Vì vậy, trong khi cung cấp đường dẫn đến các công trình mở rộng mercurial_keyring, module keyring phụ thuộc vẫn không thể tìm thấy.
Sau khi điều tra thêm, có vẻ như tiện ích mở rộng KHÔNG hoạt động. Tất cả chúng đều tạo ra lỗi:
*** failed to import extension [extension name]: No module named [module name]
Dường như khi chạy hg.exe, nó không nhận thức được PYTHONPATH. Tôi đã thử:
- Python 2.6.5 32 bit
- Python 2.6.5 64 bit
- Building Mercurial 1,5 từ nguồn với MinGW
- Building Mercurial 1,5 từ nguồn với MSVC9
- Sử dụng hg .exe từ phân vùng nhị phân 1,5 (.msi)
- Sử dụng hg.py trong c: \ python26 \ scripts khi xây dựng từ nguồn
- Cấu hình khác nhau trong% userprofile%/mercurial.ini
- Sử dụng công cụ thiết lập (easy_install.exe) để cài đặt keyring và mercurial_keyring
- Khóa xây dựng và mercurial_keyring từ nguồn (thiết lập python.py bdist_wininst)
Không có gì hiệu quả. Gần nhất tôi có được là sử dụng hg.py khi xây dựng từ nguồn. Nó ít nhất không cho tôi lỗi, và thực sự tạo ra% userprofile%/wincrypto_pass.cfg khi tôi nhập thông tin đăng nhập của mình. Nhưng trên các yêu cầu tiếp theo, nó không tự động nhập thông tin đăng nhập. Nó nhắc tôi một lần nữa.
Điều thú vị là TortoiseHG là bằng cách sử dụng khóa. Tôi chỉ không thể làm cho nó hoạt động trên dòng lệnh. Tôi nghĩ rằng một cái gì đó đang xảy ra với Win 7 x64 đó là ngăn chặn mercurial (hg.exe) từ nhìn thấy PYTHONPATH, vì vậy nó không thể tìm thấy bất kỳ mô-đun được cài đặt.
Có ai có tiện ích mở rộng hoạt động trong Win 7 x64 không? Cụ thể với việc cài đặt nhị phân của mercurial (không hg.py)?
CẬP NHẬT Tôi đã tìm được một công việc phù hợp cho đến bây giờ. Vì TortoiseHG hiện hoạt động với mercurial_keyring, tôi vừa thay đổi thiết lập PATH của mình để bao gồm thư mục tortoiseHG, nhưng không phải c: \ mercurial. Bây giờ khi tôi gõ "hg" tại dòng lệnh, nó sử dụng hg.exe trong thư mục tortoiseHG, nó hoạt động tốt. Chỉ cần như vậy, đây vẫn là một vấn đề với phần mở rộng mercurial trên Win 7 x64. Câu trả lời chào mừng.
'C: \ Program Files \ TortoiseHg' đã có trong PATH, mặc dù tôi đã phải gỡ bỏ một phiên bản Mercurial khác từ nó:' c: \ Program Files \ Mercurial' –