直到今天,我已经使用 virtualenv 几个星期了,没有任何问题。使用 pip 使用 -r requirements.txt 安装我的环境,它在错误的位置安装了 Django (v1.5) 的一部分。而不是将整个源放入:
env/lib/python2.7/site-packages/django/
它将部分 conf/和 contrib/放在:
env/django/
当然,像管理页面这样的 Django 部分是行不通的。当我将这两个目录移动到正确的位置时,一切正常,并且没有文件重复。我还尝试删除整个 env 目录并以相同的结果重新开始。
关于为什么 virtualenv 和 pip 将 django 的部分拆分到错误的位置(以及如何修复它)有什么想法吗?
最佳答案
刚在我们的盒子里也遇到了同样的问题。通过删除此目录修复它
rm -rf ~/.cache/pip
路径可能因操作系统而异,请检查此链接以找到您的 pip 缓存目录 https://pip.pypa.io/en/latest/reference/pip_install.html#caching
原因是我们在盒子里有一个损坏的 django 缓存,我在安装 django 时通过添加 -v 参数来查看详细输出:
pip install -v django==1.5
在我们的例子中,它只是安装而没有下载任何东西。然后我添加了 --no-cache-dir 来安装一个干净的:
pip install -v django==1.5 --no-cache-dir
这次成功了,在 virtualenv 的根目录中没有 conf 和 contrib 文件夹,而是文件保留在我们预期的站 pip 包中。在我们删除 ~/.cache/pip 之后,它也可以正常使用 pip install django==1.5
关于python - pip 和 virtualenv 在错误的地方安装了部分 django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31017306/