我正在尝试运行Python程序但得到错误
ImportError: No module named argparse
我在StackOverflow上找到问题“argparse Python modules in cli”并尝试了第一条评论,即运行命令
python -c "import argparse; print argparse"
导致
<module 'argparse' from '/usr/lib/python2.7/argparse.pyc'>
对我而言,似乎机器上安装了Python 2.7(我不是管理员),并且argparse
模块也存在。所以我想知道为什么找不到这个模块。在另一台机器上,脚本按原样运行。在上面提到的帖子中,有评论可能sys.path
被打破。我不知道这意味着什么,或者我如何改变它的价值。有什么想法吗?
答案 0 :(得分:20)
尝试安装argparse
:
easy_install argparse
答案 1 :(得分:7)
在CentOS上,我用yum install python-argparse
解决了这个问题。
HT到LVA以获得正确的包装名称。
答案 2 :(得分:6)
在Debian系统上,您可以使用以下命令安装argparse包:
sudo apt-get install python-argparse
答案 3 :(得分:4)
您可能使用与脚本不同的Python版本而不是在命令行中执行的脚本。确保脚本使用此解释器:/usr/lib/python2.7
。这个安装肯定有argparse
,正如你在第一篇文章中的导入所证明的那样。
为什么你的脚本可以使用不同的Python安装?它可能是你的脚本第一行的Shebang行可能指向不同的Python解释器的结果已安装argparse
个模块。
编辑:另一个问题可能是您的脚本清理了sys.path
列表,这将非常糟糕,因为预先安装的每个模块都无法访问...
答案 4 :(得分:0)
您没有将模块安装到正确版本的python。有两种方法可以解决此问题
答案 5 :(得分:0)
如果您的源文件与argparse具有相同的名称,并且您使用脚本将其放在当前目录中,则可能会遇到此问题。
答案 6 :(得分:0)
运行以下命令:yum install -y python-argparse
。当您是CentOS时,它可以修复它。