Django安装应用的位置在哪里?
我在用Django的注册类,感觉挺不错的,但最新版本有个问题,而且不再更新了。
我已经把它安装到我的路径上(下载后用python setup.py install命令安装),然后把它加到了我项目的已安装应用里。
我用的是debian系统,它被复制到了/usr/lib/python2.5/site-packages/registration这个地方。
到现在为止一切都很好,但我编辑(甚至删除)它都对我的项目没有任何影响。
我在想,当你把一个类加到Django的已安装应用里时,它是不是被复制到别的地方了,但到底是哪里呢?
像往常一样,感谢你的时间!
3 个回答
1
我猜当你把一个类放进Django的已安装应用里时,它会被复制到某个地方,但到底在哪里呢?
这个猜测完全不对。
更好的猜测是,你的下载目录在Python的路径里。
可能你有这个模块的两个(或更多)副本。
你删除了一些,但并没有删除所有的副本。
继续在你的 PYTHONPATH
中寻找其他的副本。检查 sys.path
中的每一个目录。
注意,你的site-packages目录中的 .pth
文件也是你路径的一部分。
3
你可以试试最古老的方法来找出它的来源:
import registration
print registration.__file__
1
我建议你尝试以下的工作流程:
- 每当你开始一个新项目时,创建一个新的
virtualenv
(记得使用--no-site-packages
) - 在这个项目的虚拟环境中安装你所有需要的依赖项(包括
django
) - 使用
pip install -e
来安装你需要可编辑版本的东西。 - 另外,你也可以复制这个项目,然后使用
pip install -e hg+http://...
来安装。