使用pip全局安装时如何确认安装?

3
有时在处理Python项目时,人们会忘记激活虚拟环境。
在使用pip安装Python模块到全局范围而非虚拟环境时,是否有一种方法可以获得明确的确认?

1
在全局范围内安装不应该起作用,除非您使用sudo运行了pip,如果您尝试在虚拟环境中工作,则不应该这样做。 - jwodder
如果您通过Mac OS X的Homebrew安装Python,则所有内容都安装到/usr/local/,您可以在不使用sudo的情况下“全局”地进行pip安装。 - kennytm
2个回答

1
您可以尝试包装pip install,例如:

import pip

def install(package):
    pip.main(['install', package])

# Example
if __name__ == '__main__':
    if not hasattr(sys, 'real_prefix'):
        # replace this with your confirmation callback
        print('Warning! installing in global scope!')
    install('argh')

来源:

在代码中安装Python模块

Python:确定是否在虚拟环境中运行


0

你可以使用:

$ pip config set install.require-virtualenv true

但是如果在没有虚拟环境的情况下安装,则会导致一个非常不方便的错误:

ERROR: Could not find an activated virtualenv (required).

我已经开了一个PR,实现了一种更加用户友好的选项(至少在我看来),可以启用警告而不是错误,并提示您是否要继续。如果它被合并,那么您将能够执行以下操作:

$ pip config set install.global-install-warning true
$ pip install -r requirements.txt
WARNING: Could not find an activated virtualenv.
Proceed (y/N)? 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接