Comment puis-je installer correctement dulwich pour obtenir hg-git de travail sur Windows?
Je suis en train d'utiliser le hg-git, Mercurial extension sur Windows (Windows 7 64-bit, pour être précis). J'ai Mercurial et Git installé. J'ai Python 2.5 (32-bit) est installé.
J'ai suivi les instructions sur http://hg-git.github.com/ pour installer l'extension. La première easy_install échoué parce qu'il était impossible de compiler dulwich sans Visual Studio 2003.
J'ai installé dulwich manuellement par:
- git clone git://git.de la samba.org/jelmer/dulwich.git
- cd dulwich
- c:\Python25\python setup.py -pur installer
Maintenant quand je lance easy_install hg-git, il réussit (depuis la dulwich dépendance est satisfaite).
Dans mon C:\Users\username\Mercurial.ini, j'ai:
[extensions]
hgext.bookmarks =
hggit =
Quand j'type de hg à l'invite de commande, je vois:
"*** échec de l'importation d'extension hggit: No module named hggit"
Recherche dans le cadre de mon c:\Python25 dossier, la seule référence à la hggit je vois, c'est Lib\site-packages\hg_git-0.2.1-py2.5.egg
. Est-ce censé être extrait quelque part, ou travailler en tant que-est?
Depuis qui a échoué, j'ai tenté le "plus impliqués" les instructions du hg-git page qui a suggéré le clonage git://github.com/schacon/hg-git.git et de référencement sur le chemin d'accès dans mon Mercurial configuration. J'ai cloné le dépôt, et a changé ma extensions de fichier ressemble à:
[extensions]
hgext.bookmarks =
hggit = c:\code\hg-git\hggit
Maintenant quand je lance hg, je vois: *** échec de l'importation d'extension hggit de c:\code\hg-git\hggit: No module named dulwich.erreurs.
Ok, donc, qui me dit qu'il est de trouver hggit maintenant, parce que je peux voir dans hg-git\hggit\git_handler.py qu'il appelle
from dulwich.errors import HangupException
Qui me fait penser à dulwich n'est pas installé correctement ou pas dans le chemin.
Mise à jour:
De Python en ligne de commande:
import dulwich
rendements Import Error: No module named dulwich
Toutefois, en vertu de C:\Python25\Lib\site-packages j'ai un dulwich-0.5.0-py2.5.oeuf dossier qui semble être peuplée. Il a été créé par les étapes mentionnées ci-dessus. Est-il une étape supplémentaire-je prendre pour faire partie de l'Python "chemin"?
De Python en ligne de commande (comme suggéré dans l'une des réponses):
import pkg_resources
pkg_resources.require('dulwich')
rendements [dulwich 0.5.0 (c:\python25\lib\site-packages\dulwich-0.5.0-py2.5.egg)]
De sorte que veut me dire? L'importation de dulwich échoue, mais, apparemment, pkg_resources pouvez le trouver. Que puis-je faire avec cette information?
- Un espace interactif de Python session, exécutez la commande: {{{ >>> import dulwich >>> print dulwich.__version__ }}} Ce qui ne fait que montrer?
- Ajouté les résultats à la section mise à Jour ci-dessus
Vous devez vous connecter pour publier un commentaire.
Vous avez absolument raison. Mercurial distributions binaires pour Windows sont "gelés" - ils utiliser le code Python et interprète fourni avec eux et donc indépendant de paquets installés dans le système PYTHONPATH. Lorsque vous indiquez le chemin d'accès à hggit extension de Mercurial.ini, hg essaie de les importer en utilisant le chemin direct, mais dulwich bibliothèque n'est pas importé explicitement par hg et n'est pas livré avec sa bibliothèque, de sorte que l'importation échoue.
Il est possible d'ajouter à la fois Dulwich et HgGit en library.zip qui est installé avec hg.exe mais pour moi, le meilleur moyen est de tout installer à partir des sources, y compris Mercurial et exécuter des commandes à l'aide .les fichiers bat installé dans \Python\Scripts. Dans ce cas, vous aurez besoin de:
Installer Dulwich - je utiliser les dernières tronc instantané pour les deux Git et Dulwich.
python setup.py -pur installer
Installer la dernière HgGit instantané
python setup.py installer
Modifier Mercurial.ini pour activer
hggit =
library.zip
? Il ressemble plus agréable solution pour moi.library.zip
n'est pas toujours un ordinaire de l'archive. Ainsi, vous aurez besoin d'un script comme celui - ci techtonik.rainforce.org/2010/01/...J'ai trouvé une solution plus simple à http://candidcode.com/2010/01/12/a-guide-to-converting-from-mercurial-hg-to-git-on-a-windows-client/
Et puis j'ai trouvé un encore plus simple solution moi-même:
D'utiliser le hg-git, Mercurial extension sur Windows:
de dulwich sources et hggit dossier de hg-git sources de la
la racine de library.zip dans Mercurial dossier d'installation
Avoir SSH soutien dont vous avez besoin plink.exe du Mastic de la famille. Après cela, vous devez ajouter le suivant pour Mercurial.ini:
Lors de la connexion à un serveur SSH pour la première fois, vous devriez commencer à putty.exe et essayez de vous connecter à l'aide. Il va ajouter le serveur empreinte de clé dans le registre. Sinon plink va vous demander d'accepter les empreintes digitales, mais il n'accepte pas n'importe quelle entrée.
Vous pouvez utiliser puttygen.exe pour générer des clés privées. Utiliser les touches sans un mot de passe ou utiliser Pageant.exe ssh authentification de l'agent.
Si vous pouvez installer TortoiseHg, il comprend dulwich et d'autres exigences.
Essayer de configuration suivantes (remplacez votre chemin), ce qui fonctionne pour moi:
Dans mon cas, quand j'ai des valeur vide pour
hggit =
, j'obtiens le même message d'erreur que vous n'avez dans ce cas. Mais je peuximport dulwich
sans problème en python shell, de sorte que vous devriez vérifier votreeasy-install.pth
(comme l'a souligné David) si elle contient desdulwich-0.5.0-py2.5.egg
.J'ai fait installer la version pure de
dulwich
ainsi.-Z
paramètre deeasy_install
afin d'en extraire lors de l'installation. La même chose s'applique pourdulwich
. Espérons qu'il vous aide.Jusqu'à ce que vous obtenez
import dulwich
de travail,hggit
ne fonctionne pas. Vérifiez que ledulwich
oeuf fichier est dans votreeasy-install.pth
fichier soussite-packages
.Pour plus de débogage, vous pouvez essayer de demander
pkg_resources
sujet:J'ai rencontré ce problème aussi avec dulwich.erreurs. Au lieu de tout installer à partir de zéro. Je viens de copier dulwich de mon site par défaut-des packages pour l'mercurial site-packages. travaillé avec pas de problèmes.
J'ai eu cette erreur ainsi, même après le téléchargement de la dernière Tortoisehg et de s'assurer l'hggit plugin a été installé ainsi que mon .ini & hgrc dossiers avaient le droit d'entrée pour permettre hggit.
S'avère que mon problème était que j'avais à la fois fantasque et tortoisehg dans mon chemin. Alors, quand j'ai couru tout hg commandes, il a été à l'aide de la hg.exe dans mercurial dossier par opposition à la hg.exe dans le torsoisehg répertoire.
Cela a un sens, mais mon mercurial installation n'a pas le plug-ins. Ma solution était de supprimer mercurial de mon chemin afin de hg pour les commandes par le biais de la tortoisehg répertoire depuis qu'il a hg complètement livré. À noter toutefois, l'option recommandée peut-être mettre à niveau mercurual pour une version qui a les plugins dont on a besoin, mais c'est ce qui a fonctionné pour moi. J'ai essayé de remplacer le library.zip dans mercurial, avec celle de tortoisehg et cela a fonctionné, mais il a conduit à d'autres erreurs que l'on pourrait imaginer.
@techtonik réponse m'a mené en bas de cette route dont je suis reconnaissant.
Rappel: vérifier qui hg exe est en cours d'exécution de votre hg commandes en vérifiant votre chemin parce que hg.exe ne trouve pas les plug-ins pour quelque raison que ce soit.
Basée sur la techtonik de explication de la raison de l'échec de l'importation de
dulwich.errors
, j'ai trouvé une solution qui semble plus simple pour moi que de la déjà proposés:Sur le Mercurial page de téléchargement il est offert
et
comme .Les fichiers EXE qui installer Mercurial comme un module Python dans un Python 2.7 (x86 ou x64) de l'installation.
Si hg-git et dulwich ont été installés à cette installation de Python ainsi, les erreurs d'importation devraient disparaître.
Si vous ne savez pas quoi faire maintenant, j'espère que cette étape-par-étape des explications aide:
Conditions préalables
<python 2.7 install dir>
et<python 2.7 install dir>\Scripts
sont dans lePATH
variable d'environnementÉtapes
Maintenant
hg clone <some git repo>
devrait fonctionner sur la console.Succès!
apt-get
n'est pas une commande qui (normalement) existe sur Windows...