4

我正在尝试从 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 位库中,而 python 的其余部分位于 64 位中。我本来希望:

easy_install argparse

会解决这个问题并安装 64 位版本。

附加问题:有谁知道如何安装 64 位版本的 argparse。从互联网上搜索对我来说并不明显。我会继续寻找。

我通过下载 tar 文件安装了 argparse

python setup.py install

但是,它仍然将它安装在 lib 而不是 lib64 路径中 - 而且它看起来像 64 位安装。因此,正确引用 argparse 的问题一定是其他问题。我对 Python 的了解不足以调试它,但我怀疑 git-cola 需要为 Python 2.6 做一些工作。

4

4 回答 4

5

我在 RHEL6 上遇到了同样的问题,解决方案是安装包python-argparse.noarch

yum install python-argparse.noarch

然后一切都很好。

于 2014-08-08T08:17:17.567 回答
5

As a simple solution copy argparse.py from https://code.google.com/p/argparse/source/browse/argparse.py to your project folder.


And indeed, for Python 2.6 argparse needs to be installed separately.

From: https://pypi.python.org/pypi/argparse

As of Python >= 2.7 .. the argparse module is maintained within the Python standard library. For users who still need to support Python < 2.7 .. it is also provided as a separate package, which .. also supports older Python versions.

But even after you install argparse, it may refuse to work for some mysterious reasons.

Additional debugging tips may be found in answers and comments to question "ImportError: No module named argparse".

于 2014-01-26T04:11:36.827 回答
1

新软件包安装在路径中:

/usr/lib/python2.6/site-packages

使用 sudo 安装它们会使新安装的目录和文件无法被所有人读取。一个递归 chmod 打开所有已安装的路径,所有人都可以阅读解决了这个问题:

chmod -R u+rwX,go+rX,go-w <new directories and files>
于 2014-01-26T23:08:13.267 回答
0

似乎缺少 argparse。

yum install python-argparse
于 2017-07-13T15:11:59.473 回答