Django包和应用名称

1 投票
1 回答
923 浏览
提问于 2025-05-10 23:45

我正在做一个小项目,里面有一个叫做 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 创建应用时会提醒你这一点。

这是无法避免的,因为应用的导入方式和其他包是一样的。

撰写回答