2016-09-22 62 views
3

有时候被错误我安装全球一些软件包与普通pip install package和污染我的系统,而不是建立一个适当的virtualenv并保持整洁的事情的。禁用全局安装 - 只允许virtualenvs

我怎么能轻松地与pip都禁止全局安装?或者至少在使用这种方式时显示出巨大的警告,以确保我知道我在做什么?

回答

1

你可以尝试创建加入这样的事情你.bashrc

pip() { 
    if [ -n "$VIRTUAL_ENV" ]; then 
     # Run pip install 
    else 
     echo "You're not in a virtualenv" 
    fi 
} 

我的bash的知识不是最伟大的,但这应该把你在正确的道路,我认为上。

+0

如果OP即将安装(a)他们使用'sudo pip ...',所以他们的'〜/ .bashrc'没有生效,或者(b)他们使用'pip'作为根, '在一个root shell中运行,在这种情况下,阻止危险操作的正确方法是停止这样做。 – jwodder

0

我可以迟到,但你可以做到这一点无论是通过:

  • 配置(~/.pip/pip.conf):

[global] require-virtualenv = true

  • 环境变量PIP_REQUIRE_VIRTUALENV