除了内置于Python的标准发行版中的模块和软件包之外,来自第三方开发人员的大量软件包还被上传到称为Python Package Index(https://pypi.org/的Python软件包存储库。要从此处安装软件包,需要pip实用程序pip工具是一个独立的项目,但是从Python 3.4开始,它已经在Python发行版中启动。
surepip模块为现有的Python安装中的自举pip提供支持。通常,用户不需要显式使用它。但是,如果在正常安装或虚拟环境中跳过了pip的安装,则可能需要安装。
以下命令将创建一个虚拟环境,而无需安装pip实用程序。
C:\python37>python -m venv --without-pip e:\testenv
虚拟环境目录下的scripts文件夹不包含pip实用程序。现在,可以使用surepip模块在系统范围的安装中使用其版本将pip并入其中。指定“ --upgrade”为其最新版本
E:\testenv>scripts\python -m ensurepip --upgrade Looking in links: C:\Users\acer\AppData\Local\Temp\tmpp1bb2lym Collecting setuptools Collecting pip Installing collected packages: setuptools, pip Successfully installed pip-18.1 setuptools-40.6.2
pip的默认安装可以通过以下选项进行修改
--root <dir> -相对于给定的根目录而不是当前活动的虚拟环境的根目录(如果有)或当前Python安装的默认根目录安装pip。
--user-将pip安装到用户站点软件包目录中,而不是在当前Python安装的全局目录中安装pip(在活动的虚拟环境中不允许使用此选项)。
surepip模块还定义了以下功能
surepip.version() -返回一个字符串,该字符串指定在引导环境时将安装的pip捆绑版本。
surepip.bootstrap() -将pip引导到当前或指定的环境中。
引导过程对sys.path和os.environ都有副作用。另外,引导过程可能会安装pip所需的其他模块,但其他软件不应假定默认情况下始终存在这些依赖项