我正在尝试卸载我的超级用户环境中的所有 django 包,以确保我的所有 webapp 依赖项都安装到我的 virtualenv 中。
sudo su
sudo pip freeze | grep -E '^django-' | xargs pip -q uninstall
但是 pip 想确认每一个包卸载,而且 pip 似乎没有-y
选项。有没有更好的方法来卸载一批 python 模块?是rm -rf .../site-packages/
正确的方法吗?有没有 easy_install 替代方案?
或者,强制 pip 将所有依赖项安装到 virtualenv 会更好,而不是依赖系统 python 模块来满足这些依赖项,例如pip --upgrade install
,但强制安装同样旧的版本来覆盖任何系统模块。我尝试激活我的 virtualenv,然后pip install --upgrade -r requirements.txt
它似乎确实安装了依赖项,甚至那些存在于我的系统路径中的依赖项,但我不能确定这是否是因为我的系统模块是旧的。并且man pip
似乎不能保证这种行为(即安装系统站点包中已经存在的相同版本的包)。