有时在处理Python项目时,人们会忘记激活虚拟环境。
在使用pip安装Python模块到全局范围而非虚拟环境时,是否有一种方法可以获得明确的确认?
在使用pip安装Python模块到全局范围而非虚拟环境时,是否有一种方法可以获得明确的确认?
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')
来源:
你可以使用:
$ 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)?
sudo
运行了pip
,如果您尝试在虚拟环境中工作,则不应该这样做。 - jwodder/usr/local/
,您可以在不使用sudo的情况下“全局”地进行pip安装。 - kennytm