繁体   English   中英

cli中的argparse Python模块

[英]argparse Python modules in cli

我试图从Linux SSH安全Shell命令行环境运行python脚本,我试图导入argparse库,但它给出错误:“ImportError:没有名为argparse的模块”。

我认为这是因为Linux shell使用的Python环境中没有argparse库,我想我可以修复它,如果我能找到Python环境所使用的库的目录,并且将argparse库复制到其中,但我找不到该目录所在的位置。

我很感激找到这个目录的任何帮助(我想我现在可以将argparse库包含在与我的python脚本相同的目录中,但我宁愿在其他Python库所在的地方使用argparse库,因为它应该)。

argparse模块是在Python 2.7中添加的。 http://docs.python.org/library/argparse.html

在2.7之前,处理命令行参数的最常用方法可能是getopt http://docs.python.org/library/getopt.html

当然,您只需通过查看sys.argv即可手动处理命令行。 但是getopt是一个很好的抽象层,而argparse甚至更好。

如果你真的需要在旧环境中使用argparse (有争议),那么有一个Google Code项目可以维护它,你可以在项目中包含它。 http://code.google.com/p/argparse/

如果您使用的是CentOS并且没有简单的RPM来获取Python 2.7,那么JF建议使用pip install argparsepip install argparse的方法。 在新的答案中调用此解决方案。 谢谢,JF。

如果你使用Centos 6默认的Python 2.6.6,只需手动添加包

yum install python-argparse

这就是让我让IPython工作的全部内容。 奇怪的是,当我使用YUM安装IPython时,YUM没有自动安装它。

您可以检查模块的搜索路径:

import sys
print "\n".join(sys.path)

但没有argparse是奇怪的:它在标准库中......

您可能正在使用旧版本的Python。

最近在Python 2.7中添加了argparse模块。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM