如何pip全局安装包而不是本地安装

目录

How to pip install a package globally instead of locally

  1. Pip 全局安装包而不是本地安装
  2. Pip 全局安装包,而不是使用 umask 本地安装

pip 全局安装包而不是本地安装

使用该-H标志全局 pip 安装软件包而不是本地安装,例如
sudo -H pip install package-name

-H设置该标志后,该pip install命令会将软件包安装在系统的主目录中。

sudo -H pip install requests sudo -H pip3 install requests

确保替换requests为您要安装的软件包的名称。

-H标志使其将pip包安装在 root 用户的主目录(全局)中。

如果在sudo pip install <package-name>没有该-H标志的情况下运行,root 用户会写入当前用户的主目录,这可能会导致问题,因为如果不以 root 身份运行,则无法使用该包。

如果您收到一条消息表明该软件包已安装,请使用该
--ignore-installed选项。

sudo -H pip install requests --ignore-installed # 👇️ for Python v3 sudo -H pip3 install requests --ignore-installed
--ignore-installed选项会忽略已安装的软件包并覆盖它们。

Windows 全局安装,除非虚拟环境处于活动状态

在 Windows 上,当您这样做时pip install <package-name>,只要您没有活动的虚拟环境,该软件包就会全局安装。

deactivate如果需要退出虚拟环境,可以使用该命令。

deactivate
如果您有一个活动的虚拟环境,pip请安装该虚拟环境范围内的软件包。

如果您收到一条消息,表明该软件包已安装,但您需要覆盖现有软件包,请使用以下选项之一。

pip install requests --upgrade pip install requests --ignore-installed pip install requests --force-reinstall # 👇️ for Python v3 pip3 install requests --upgrade pip3 install requests --ignore-installed pip3 install requests --force-reinstall

–force -reinstall选项强制 pip 重新安装软件包。

您也可以先卸载该软件包,然后再安装。

pip uninstall requests pip3 uninstall requests pip install requests pip3 install requests

全局安装软件包的另一种方法是使用命令umask 022

pip 全局安装包,而不是使用 umask 本地安装

这是一个两步过程:

  1. 使用该umask 022命令使包中的文件可供所有用户访问。
  2. 使用该sudo pip install package-name命令全局安装包。
umask 022 sudo pip install requests # 👇️ for Python 3 sudo pip3 install requests

确保替换requests为您要安装的模块的名称。

如果您已经使用安装了该模块sudo,请先将其卸载。

sudo pip uninstall requests sudo pip3 uninstall requests umask 022 sudo pip install requests sudo pip3 install requests

umask命令用于为新创建的文件和文件夹分配默认的文件权限。

这是必要的,因为如果您安装一个带有 的软件包sudo,它可能只能由 root 读取。

umask 022命令使默认目录权限为 755,默认文件权限为 644。

权限755意味着每个人都可以read访问execute,并且只有目录的所有者可以write访问。

权限644意味着每个人都具有读取权限并且所有者具有读写权限。

您也可以切换到 root 用户,而不用在每个pip命令前添加 前缀。sudo

sudo su umask 022 pip install requests pip3 install requests

额外资源

您可以通过查看以下教程了解有关相关主题的更多信息: