我正在尝试从Red Hat Enterprise Linux Server 6.5版运行git-cola并收到:
Traceback (most recent call last):
File "....../bin/git-cola", line 24, in <module>
from argparse import ArgumentParser
ImportError: No module named argparse
我想我已经安装了所有必需的软件包:
* git-1.7.1-3.el6_4.1.x86_64
* python-2.6.6-51.el6.x86_64
* PyQt4.x86_64 0:4.6.2-9.el6
* /usr/lib/python2.6/site-packages/argparse-1.2.1-py2.6.egg
我在其他博客中读到Python 2.6可能存在问题,可能需要迁移到2.7。
附加信息 - @iljau注意到argparse位于32位lib中,而python的其余部分位于64位。我原以为:
easy_install argparse
会对此进行排序并安装64位版本。
其他问题:有没有人知道如何安装64位版本的argparse。我在搜索互联网时并不明白。我会继续寻找。
我通过下载tar文件和
安装了argparsepython setup.py install
但是,它仍然将它安装在lib而不是lib64路径中 - 它看起来像64位安装。所以在正确引用argparse时必须有其他问题。我不知道Python足以调试它,但我怀疑git-cola需要一些Python 2.6的工作。
答案 0 :(得分:5)
作为一个简单的解决方案,将argparse.py
从https://code.google.com/p/argparse/source/browse/argparse.py复制到您的项目文件夹。
事实上,对于Python 2.6 argparse
需要单独安装。
来自:https://pypi.python.org/pypi/argparse
从Python&gt; = 2.7 .. 开始,argparse模块在Python标准库中维护。对于仍需要支持Python的用户&lt; 2.7 .. 它也作为一个单独的包提供, .. 也支持旧的Python版本。
但即使安装argparse
之后,它也可能因某些神秘原因拒绝工作。
可以在问题"ImportError: No module named argparse"的答案和评论中找到其他调试提示。
答案 1 :(得分:5)
我在RHEL6上遇到了同样的问题,解决方法是安装软件包 python-argparse.noarch :
yum install python-argparse.noarch
然后一切都很好。
答案 2 :(得分:1)
新的软件包安装在路径中:
/usr/lib/python2.6/site-packages
使用sudo安装它们会使新安装的目录和文件全部无法读取。一个递归的chmod打开所有已安装的路径,可以解决所有问题:
chmod -R u+rwX,go+rX,go-w <new directories and files>
答案 3 :(得分:0)
看起来缺少argparse。
yum install python-argparse