请教笨办法 48 和 49 题 import error 与 __init__.py 文件 的问题

请教笨办法 48 和 49 题 import error 与 __init__.py 文件 的问题,第1张

请教笨办法 48 和 49 题 import error 与 __init__.py 文件 的问题,第2张

教程的写法只有一句
from ex48 import lexicon

但根据他说的骨架 , lexicon 这个类应该从 ex48.ex48.ex48 这里导入才对
为什么他可以那样写?
而且 , 最整我的是即使我写 from ex48.ex48.ex48 import lexicon 也会出现 ImportError
为了方便 , 下面说成 ex48.project.main

因为 ex48 这个目录的父目录是 PYTHONPATH 环境变量中指定的
所以我以为 ex48.project.main 就一定能导入 main.py 里边的东西
但试了千百次还是 ImportError 一次又一次的

后来我发现只要在 project 这个目录下创建 __init__.py 空文件就能 import 成功

因为教材的写法很简单 , 而且他在说创建骨架的时候 , 没有说要在项目文件夹 (skeleton | ex48) 下创建一个 __init__.py , 所以我有点怀疑我的解决方法是正确的吗?

下面是书里说的项目骨架结构
root
skeleton
setup.py
__init__.py # 加上这个文件才能正常导入模块
bin
docs
NAME
__init__.py
tests
__init__.py
NAME_tests.py ----------------------- 以下是精选回复-----------------------

答:root
----skeleton
--------setup.py
--------__init__.py # 加上这个文件才能正常导入模块
--------bin
--------docs
--------NAME
------------__init__.py
--------tests
------------__init__.py
------------NAME_tests.py
答:楼主基础姿势不扎实,因为 Python 就是当发现一个目录下有 __init__.py 文件,才当成一个模块目录,才能 import 呀。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 请教笨办法 48 和 49 题 import error 与 __init__.py 文件 的问题

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情