栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 面试经验 > 面试问答

ImportError:没有名为包的模块

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ImportError:没有名为包的模块

首先,让我们看看Python如何搜索包和模块。

sys.path

字符串列表,用于指定模块的搜索路径。从环境变量初始化

PYTHONPATH
,再加上与安装有关的默认值。

那就是搜索路径。因此,如果您的模块/包位于之一

sys.path
,则python解释器可以找到并导入它。医生说更多:

在程序启动时进行初始化,该列表的第一项

path[0]
是包含用于调用Python解释器的脚本的目录。如果脚本目录不可用(例如,如果解释器是交互式调用的,或者从标准输入中读取了脚本),
path[0]
则为空字符串,该字符串将Python首先引导到当前目录中的搜索模块。

我以修改

test.py
为例。

import sys; import pprintpprint.pprint(sys.path)from package import packageprint package

有两种情况:

$ python package/test.py['/Users/laike9m/Dev/Python/TestPython/package', '/usr/local/lib/python2.7/site-packages/doc2dash-2.1.0.dev0-py2.7.egg', '/usr/local/lib/python2.7/site-packages/zope.interface-4.1.3-py2.7-macosx-10.10-x86_64.egg', '/usr/local/lib/python2.7/site-packages/six-1.10.0-py2.7.egg', '/usr/local/lib/python2.7/site-packages/colorama-0.3.3-py2.7.egg',

如您所见,

path[0]
is
/Users/laike9m/Dev/Python/TestPython/package
是目录,其中包含
test.py
用于调用Python解释器的脚本。

$ python        Python 2.7.12 (default, Jun 29 2016, 14:05:02)[GCC 4.2.1 Compatible Apple LLVM 7.3.0 (clang-703.0.31)] on darwinType "help", "copyright", "credits" or "license" for more information.>>> import package['', '/usr/local/lib/python2.7/site-packages/doc2dash-2.1.0.dev0-py2.7.egg', '/usr/local/lib/python2.7/site-packages/zope.interface-4.1.3-py2.7-macosx-10.10-x86_64.egg', '/usr/local/lib/python2.7/site-packages/six-1.10.0-py2.7.egg', '/usr/local/lib/python2.7/site-packages/colorama-0.3.3-py2.7.egg',...

现在是第二种情况,以交互方式调用时,“

path[0]
是空字符串,它指示Python首先在当前目录中搜索模块”。当前目录是什么?
/Users/laike9m/Dev/Python/TestPython/
((这是我机器上的路径,相当于
PythonTest
您的情况下的路径)

现在您知道答案了:

  1. 为什么
    python package/test.py
    importError: No module named package

因为解释器没有“看到”包。为了使解释器知道package

package
PythonTest
必须位于中
sys.path
,但不是。

  1. 为什么以交互方式工作?

因为现在

PythonTest
sys.path
,所以解释器能够找到包
package



转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/640325.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号