最近开始跟着 廖雪峰的官方网站 学习python, 在此感谢一下博主提供这么棒的教程.
再进行元类这部分练习的时候, 将 ORM 的代码全部写到ORMPackage这个包中, 目录结构如下:
在hello.py
中导入ORM.py
这个文件的时候, 采用import ORMPackage.ORM
和import ORM
两种方式均不能正常的导入:
hello.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import ORM
u = User(id = 123, name='codiy', email='codiy_huang@163.com', password='123456')
u.save()
import ORMPackage.ORM
会提示 name 'User' is not defined
错误
import ORM
会提示No module named ORM
错误
后来根据 这篇文章 的方法, 应该是在导入的时候, 没有将包所在的目录添加进去;
改成下面的代码:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import os
sys.path.append(os.getcwd() + '/ORMPackage')
from ORM import User
u = User(id = 123, name='codiy', email='codiy_huang@163.com', password='123456')
u.save()
将包所在的目录添加到sys.path
后正常运行.