我试图从Linux的SSH安全壳命令行环境运行一个python脚本,我试图导入argparse库,但它会给出错误:“ImportError:No module named argparse”。
我认为这是因为Linux shell所使用的Python环境没有argparse库,我想我可以修复它,如果我能findPython环境使用的库的目录,将argparse库复制到它,但我无法find该目录所在的位置。
我将不胜感激find这个目录的任何帮助(我想我可以将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
是一个很好的抽象层,而且更好一些。
如果您确实需要在较旧的环境中进行争论(有争议的),那么Google代码项目会对其进行维护,您可以将其包含在您的项目中。 http://code.google.com/p/argparse/
如果你在CentOS上,而且没有一个简单的RPM到Python 2.7,那么JF的pip install argparse
建议就是要走的路。 在一个新的答案中调用这个解决方案。 谢谢,JF。
如果您使用Centos 6默认的Python 2.6.6,只需手动添加包
yum install python-argparse
这就是我所需要的IPython的工作。 奇怪的是,YUM没有自动安装它时,我使用YUM来安装IPython。
您可以通过以下方式检查模块的搜索路径:
import sys print "\n".join(sys.path)
但是没有认识是奇怪的:它在标准库里
您可能正在使用较旧版本的Python。
argparse模块最近在Python 2.7中被添加了。