绕过确认提示进行pip uninstall
我正在尝试在我的超级用户环境中卸载所有django软件包,以确保我的所有webapp依赖项都安装到我的virtualenv。
sudo su
sudo pip freeze | grep -E '^' | 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
似乎不保证这种行为(即安装系统站点包中已存在的相同版本的软件包)。
没有找到相关结果
已邀请:
5 个回复
姬第柔炒
艾食魄轻县
踩什不
标志创建它,或者所需版本和现有版本不同,否则它不会在主安装中安装已经存在的软件包。
宠封钞轰
和/或
是要走的路。卸载系统范围的python模块很糟糕。 pip的
选项会在虚拟环境中安装所需的模块,即使它们已经存在于系统环境中,即使所需的版本或最新的可用版本与系统版本相同。
并且,在创建虚拟环境时使用--no-site-packages选项可确保系统路径中缺少模块的存在可能无法掩盖缺少的依赖项。这有助于在将模块从一个包迁移到另一个包期间暴露出问题,例如pinax.apps.groups - > django-groups,特别是当问题出在django中的load templatetags语句时,它会搜索templatetags目录的所有可用模块以及其中的标记定义。
播匣扦阔食
可以绕过确认