ImportError:没有名为argparse的模块

ale*_*lex 25 python install pip python-install argparse

我试图运行一个Python程序,但得到错误

ImportError: No module named argparse
Run Code Online (Sandbox Code Playgroud)

我在StackOverflow上找到了问题"在cli中使用argparse Python模块"并尝试了第一条注释,即运行命令

python -c "import argparse; print argparse"
Run Code Online (Sandbox Code Playgroud)

结果导致了

<module 'argparse' from '/usr/lib/python2.7/argparse.pyc'>
Run Code Online (Sandbox Code Playgroud)

对我来说,似乎机器上安装了Python 2.7(我不是管理员),argparse模块也存在.所以我想知道为什么找不到这个模块.在另一台机器上,脚本按原样运行.在上面提到的帖子中,有评论可能sys.path被打破.我不知道这意味着什么,或者我如何改变它的价值.有任何想法吗?

brd*_*ido 21

尝试安装argparse:

easy_install argparse
Run Code Online (Sandbox Code Playgroud)

  • 用户已经在`/usr/lib/python2.7` 中安装了带有 `argparse` 的 Python 安装。为什么要重新安装第二次?... (2认同)

小智 9

在CentOS上我解决了这个问题yum install python-argparse.HT到LVA的正确包装名称.


小智 7

在Debian系统上,您可以使用以下命令安装argparse包:

sudo apt-get install python-argparse
Run Code Online (Sandbox Code Playgroud)


Max*_*ant 5

您可能在脚本中使用的Python 版本与在命令行中执行的Python 版本不同。确保脚本正在使用以下解释器:/usr/lib/python2.7argparse正如您在第一篇文章中的导入所证明的那样,此安装肯定具有。

为什么您的脚本可以使用其他Python安装?这可能是脚本第一行的Shebang行导致的结果,该行可能指向未argparse安装模块的其他Python解释器。

编辑:另一个问题可能是您的脚本清除了sys.path列表,这将是非常糟糕的,因为每个预装的模块将无法访问...


Sui*_*pps 0

您没有将模块安装到正确版本的 python。有两种方法可以解决此问题

  1. 重新安装 python 和模块
  2. 更改 python 路径在这些链接之一进行了演示(osxwindows(您不必在 Windows 上执行此操作,我选择了 xp 因为这就是我运行的)、linux

其中之一应该可以工作,但如果它不起作用,请尝试重新启动。祝你好运!!:)