Django包和应用名称
我正在做一个小项目,里面有一个叫做 requests 的应用。现在我想用 OpenID 来识别用户,但这个包依赖于 "requests" 这个包,所以当我尝试运行我的应用时就出错了。
from social.utils import setting_name
File "/Users/.../env/lib/python2.7/site-packages/social/utils.py", line 11, in <module>
from requests.adapters import HTTPAdapter
ImportError: No module named adapters
我明白 Django 在我的 requests 应用中寻找适配器,但那里并没有这些适配器。我不太明白怎么才能避免这个问题,而不需要重命名我的应用。
还有一个更一般的问题,自己命名的应用和已有的包同名,是不是不太好?我应该先用 pip 检查一下是否有同名的包吗?我以为在我的项目命名空间里,我可以随意给我的应用命名呢?
我已经很久没编程了,想通过学习 Python 和 Django 来重新入门。
谢谢
相关文章:
- 暂无相关问题
1 个回答
2
你不能让你的应用名称和Python包的名称重复,Django在你使用 ./manage.py startapp
创建应用时会提醒你这一点。
这是无法避免的,因为应用的导入方式和其他包是一样的。