导入错误:没有模块名为argparse
我试图运行Python程序,但得到的错误导入错误:没有模块名为argparse
ImportError: No module named argparse
我发现这个问题“argparse Python modules in cli”这里*上和尝试的第一个评论,即运行命令
python -c "import argparse; print argparse"
这就造成了
<module 'argparse' from '/usr/lib/python2.7/argparse.pyc'>
对于我来说,好像有Python的2 .7安装在机器上(其中我不是管理员),模块也存在。所以我想知道为什么没有找到该模块。在另一台机器上,脚本按照其应该运行。在上面提到的帖子中,有可能sys.path
被破坏的评论。我不知道这意味着什么,或者我如何改变它的价值。有任何想法吗?
如果您的源文件与argparse具有相同的名称,并且您将它与脚本放在当前目录中,则可能会遇到此问题。
对不起,我完全不明白你的答案。 “源文件与argpass具有相同名称”是什么意思? – 8bitjunkie 2015-10-20 12:19:47
尝试安装:
easy_install argparse
用户已经在'/ usr/lib/python2.7'中安装了'argparse'的Python安装。为什么第二次重新安装它?... – 2013-12-26 23:54:02
你可能使用Python的不同版本脚本比你在命令行中执行一个。确保脚本正在使用此解释器:/usr/lib/python2.7
。这个安装肯定有,正如你在第一篇文章中用导入证明的那样。
为什么你的脚本可以使用不同的Python安装?它可能是脚本第一行的Shebang行的结果,它可能指向不具有模块的其他Python解释器。
编辑:另一个问题是,你的脚本清洁sys.path
名单,这将是非常糟糕的,因为每一个预安装模块将无法访问......
谢谢。我没有像“./myscript.py”那样运行我的脚本,而是更改了“python ./myscript.py”并且它运行正确,因为它使用了我的PATH的Python – mdiehl13 2018-02-09 22:32:43
在Debian系统,您可以使用以下命令来安装argparse包:
sudo apt-get install python-argparse
在CentOS上,我用yum install python-argparse
解决了这个问题。 HT到LVA的正确包名称。
您是否使用Python 2.6或更早版本? “似乎”听起来不太令人信服。你在开始翻译时看到了什么版本号? 'sys.version'? – Junuxx 2013-02-26 15:52:41
您正在使用的Python脚本是否有一个shebang(在它的开始处有一个'#!'),它告诉它使用与默认不同的Python可执行文件? – 2013-02-26 15:53:02
我们需要查看脚本本身的更多细节。例如,用什么可执行文件来运行它? – 2013-02-26 15:54:46