命令行中的argparse Python模块

12 投票
5 回答
15613 浏览
提问于 2025-04-17 02:36

我正在尝试在Linux的SSH命令行环境中运行一个Python脚本,并且我想导入argparse这个库,但出现了错误:“ImportError: No module named argparse”。

我觉得这个问题是因为Linux的Python环境里没有argparse这个库。我想,如果能找到Python环境使用的库的目录,然后把argparse库复制到那里,就能解决这个问题,但我找不到那个目录在哪里。

如果有人能帮我找到这个目录,我会非常感激(我想我可以暂时把argparse库放在和我的Python脚本同一个目录里,但我更希望把argparse库放在其他Python库所在的地方,这样更合适)。

5 个回答

2

如果你在用Centos 6的默认Python 2.6.6,可以手动添加这个软件包。

yum install python-argparse

这就是我让IPython正常工作的全部步骤。奇怪的是,当我用YUM安装IPython的时候,YUM居然没有自动安装这个软件包。

2

如果你在使用CentOS系统,并且找不到简单的方法来安装Python 2.7,JF的建议是用pip install argparse这个命令来解决问题。我在这里特别提一下这个方法,感谢JF的分享。

6

argparse模块是在Python 2.7中新增的。

在2.7之前,处理命令行参数的最常用方法可能是getopt

当然,你也可以通过查看sys.argv手动处理命令行参数。不过,getopt提供了一个不错的抽象层,而argparse则更好。

如果你在旧环境中确实需要使用argparse(这有点争议),有一个Google代码项目在维护它,你可以把它包含到你的项目中。

撰写回答