教程的写法只有一句
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
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/90403
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.