gpt4 book ai didi

python - 什么时候全局安装外部Python包,什么时候本地安装? pip 还是系统包管理器?

转载 作者:行者123 更新时间:2023-12-01 03:20:05 25 4
gpt4 key购买 nike

我对安装外部 python 包的可能性感到困惑:

  1. 使用 pip 将本地包安装到 /home/chris/.local/lib/python3.4/site-packages
    $ pip install --user 包名

  2. 使用 pip 将全局包安装到 /usr/local/lib/python3.4/site-packages
    (需要 super 用户权限)
    $ pip install 包名

  3. 使用 zypper 将全局包安装到 /usr/lib/python3.4/site-packages
    (需要 super 用户权限)
    $ zypper 安装包名

我将 OpenSuse 与包管理器 zypper 结合使用,并有权访问用户 root。

我(认为)对 pip 的了解是:
- pip 仅下载最新版本。
- 对于已安装的软件包,如果有新版本可用,则不会检查。
- 可以在虚拟环境中安装自己的软件包。
- 下载和安装比 zypper 花费更多时间。
- 可以进行本地或全局安装。

我系统的包管理器:
- 下载和安装速度更快。
- 仅全局安装该软件包。

我的问题是何时以及为什么要进行安装:pip(本地、全局)或使用 zypper
我读了很多有关这个问题的文章,但无法清楚地回答这个问题......

最佳答案

/usr/lib 下的内容是被视为操作系统一部分的系统软件包。操作系统脚本和服务很可能/可能依赖于这些组件。我建议您不要自己接触这些,或者真正使用或依赖它们作为用户脚本,因为这将使您的应用程序操作系统甚至操作系统版本依赖。如果编写在系统级别运行的脚本(例如执行维护或管理任务),请使用这些脚本,尽管我什至会认真考虑使用这些...

/usr/local/lib 下的内容安装在本地以供任何用户使用。系统脚本等不会依赖于这些(虽然我自己不了解 SuSE),但其他用户的脚本可能会依赖这些,因此在此处进行更改时需要牢记这一 pip 。这是一个共享资源。如果您编写的脚本可能需要其他用户运行,请针对此进行开发,以确保他们能够访问所有必需的依赖项。

你的主目录中的东西都是你的,所以按照你的意愿去做吧。如果您只是为自己编写一些东西,特别是如果您可能需要将脚本移植到其他机器/操作系统,请使用此选项。

很可能还有其他有意义的选项,例如,如果您是开发应用程序软件的团队的一员,在这种情况下,请将团队的基础开发包安装在共享位置,但可能不是/usr/local。

在使用 zypper 或 pip 方面,我建议使用 zypper 来更新/usr/lib,因为它是操作系统配置更新的特定工具。/usr/local/lib 可能也是如此,因为它确实是“系统”的一部分,但这实际上取决于您以及哪种方法可能最有意义,例如如果您需要将配置复制到另一台主机。对于 homedir 中的内容,这取决于您,但如果您决定迁移到新操作系统上的新主机,pip 仍然可用,因此该环境将更容易重新创建。

关于python - 什么时候全局安装外部Python包,什么时候本地安装? pip 还是系统包管理器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42007071/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com