导入Python失败

格里索

我正在按照此博客文章中的说明进行操作,以将Mercurial转换为Git

当我这样运行脚本时:

hg-fast-export.sh -r c:\projects\demoapp

然后它失败,并显示以下错误:

Traceback (most recent call last):
  File "./hg-fast-export.py", line 11, in <module>
    from mercurial import node
ImportError: cannot import name node

我的hg-fast-export.py的开头看起来像这样

#!/usr/bin/env python

# Copyright (c) 2007, 2008 Rocco Rutte <[email protected]> and others.
# License: MIT <http://www.opensource.org/licenses/mit-license.php>

import sys

# import mercurial libraries from zip:
sys.path.append(r'C:\Program Files (x86)\Mercurial\library.zip')

from mercurial import node
from hg2git import setup_repo,fixup_user,get_branch,get_changeset
from hg2git import load_cache,save_cache,get_git_sha1,set_default_branch,set_origin_name
from optparse import OptionParser
import re
import os

我检查了该library.zip文件(位于中C:\Program Files (x86)\Mercurial\,它包含以下文件夹结构(以及许多其他文件/文件夹insizelibrary.zip

library.zip
    |
    ---------mercurial
            |
            ----------node.pyc

我真的很沮丧。我不知道该怎么办。我已经坚持了两天。我可能忽略了很简单的事情,但我不知道它是什么。这是缓存问题吗?这是设置问题吗?这是环境问题吗?

请帮助,并谢谢:)

马丁·彼得斯(Martijn Pieters)

几乎可以肯定,您的路径中某处另一个 mercurial软件包或模块。由于使用sys.path.append()了该library.zip文件,因此最后一次搜索该模块。

最好的办法是到库zip文件添加到在Python的模块搜索路径的开始

sys.path.insert(0, r'C:\Program Files (x86)\Mercurial\library.zip')

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章