我正在开发一个小项目,它有一个名为requests的应用程序。 现在我想使用OpenID来识别用户,但是软件包依赖于软件包"请求"我在尝试运行我的应用时遇到错误。
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会在我的请求应用程序中查找适配器,但是我不知道如何在没有重命名我的应用程序的情况下避免这种情况。
或者甚至是一个更普遍的问题,这是不好的做法,还是应该避免将自己的应用名称与包相同?如果有包含名称的包裹,我应该首先检查点子吗? 我想在我的项目的命名空间内,我可以将我的应用程序命名为真正的我想要的?
我没有多年编程,只是想通过学习python和django来重新学习它。
谢谢
答案 0 :(得分:1)
您不能让应用名称与python包的名称发生冲突,django会在使用./manage.py startapp
创建应用时向您发出警告。
无法避免,因为应用程序的导入方式与其他任何软件包一样。