导入Python模块只能在解释器中运行,而不能在脚本中运行

时间:2018-08-10 23:41:46

标签: python python-3.x pip

我通过点子安装了模块absl,并且能够在解释器中成功导入它,但是当我运行一个导入它的脚本时,出现错误ImportError: No module named absl。有什么作用?

我知道this post报告了相同的错误,但是由于这与我创建的程序包无关(它是Google's Python certificate-transparency tools的一部分),因此我认为问题不在于隐藏文件名。

2 个答案:

答案 0 :(得分:2)

验证正在运行脚本的python解释器

import sys

print(sys.executable)

还要验证是否出于某种原因您的python解释器正在从virtualenv运行

import sys

if hasattr(sys, 'real_prefix'):

确保口译员| venv正在运行您的脚本;是安装了absl软件包的那个

答案 1 :(得分:0)

我正在使用别人的剧本,而她的剧本是#!/usr/bin/env python。但是,我的默认python版本是2.7,而我已经通过pip3下载了python3的absl模块。一旦将shebang更改为#!/usr/bin/env python3,Python就可以找到absl模块。