如何使用站点包中升级的 pip?
How to use upgraded pip from site-packages?
当我运行pip --version
它returns默认路径/usr/local/apps/python-3.8.3/lib/python3.8/site-packages/pip
。然而,当我 运行 pip install --upgrade pip
它安装新的 pip 到 /home/username/.local/lib/python3.8/site-packages
,但 pip
命令仍然使用旧路径,即:系统默认。我在大学计算集群上,但没有根访问权限。我应该修改哪些设置以确保 pip
命令使用本地文件夹中升级的 pip?
根据How to change default install location for pip
您可以设置以下环境变量:
PIP_TARGET=/path/to/pip/dir
@chepner 提供的答案更好,因为您可以隔离虚拟环境。升级时一个安装不会覆盖另一个安装,并且可以设置为特定版本。
您可能应该使用虚拟环境来避免任何本地安装 pip
。
python3 -mvenv myvenv
将 pip
安装到 myvenv/bin/
。然后您可以 运行 myvenv/venv/pip install --upgrade pip
,它将在您的虚拟环境中执行升级。 (您还可以使用 . ./myvenv/bin/activate
激活虚拟环境,之后 ./myvenv/bin
将位于 shell 会话其余部分的搜索路径的前面,让您只需 运行 pip
和以前一样。)
当我运行pip --version
它returns默认路径/usr/local/apps/python-3.8.3/lib/python3.8/site-packages/pip
。然而,当我 运行 pip install --upgrade pip
它安装新的 pip 到 /home/username/.local/lib/python3.8/site-packages
,但 pip
命令仍然使用旧路径,即:系统默认。我在大学计算集群上,但没有根访问权限。我应该修改哪些设置以确保 pip
命令使用本地文件夹中升级的 pip?
根据How to change default install location for pip
您可以设置以下环境变量:
PIP_TARGET=/path/to/pip/dir
@chepner 提供的答案更好,因为您可以隔离虚拟环境。升级时一个安装不会覆盖另一个安装,并且可以设置为特定版本。
您可能应该使用虚拟环境来避免任何本地安装 pip
。
python3 -mvenv myvenv
将 pip
安装到 myvenv/bin/
。然后您可以 运行 myvenv/venv/pip install --upgrade pip
,它将在您的虚拟环境中执行升级。 (您还可以使用 . ./myvenv/bin/activate
激活虚拟环境,之后 ./myvenv/bin
将位于 shell 会话其余部分的搜索路径的前面,让您只需 运行 pip
和以前一样。)