【问题标题】:PIP and python installing packagesPIP 和 python 安装包
【发布时间】:2020-02-25 16:46:51
【问题描述】:

我有一个安装了 Python 2.7 和 Python 3.4 的 CentOs 系统。我没有关于这些是如何安装的信息。

但是,这是发出以下命令时的响应:

whereis /usr/bin/python3

python3: 
/usr/bin/python3.4 
/usr/bin/python3.4m 
/usr/lib/python3.4 
/usr/lib64/python3.4 
/usr/include/python3.4m
whereis /usr/bin/python2.7

python2: 
/usr/bin/python2.7 
/usr/bin/python2 
/usr/lib/python2.7 
/usr/lib64/python2.7 
/usr/include/python2.7 
/usr/share/man/man1/python2.1.gz

我不确定如何在此设置中使用 PIP。 PIP 的 Python 文档提到它假定您的环境是虚拟的。

如果我想使用 PIP 在 python3.4 中安装一个模块,步骤是什么? 1. sudo 作为根? 2.设置环境变量? 3.等等……

【问题讨论】:

    标签: python-3.x linux pip


    【解决方案1】:

    安装 Python 包非常简单,您需要首先验证它尚未被您的发行版打包,在您的情况下:

    yum search <module_name>
    

    这些包通常命名为:python-&lt;module_name&gt; 用于 Python 2 模块,python3-&lt;module_name&gt; 用于 Python 3 模块。

    如果它不作为包存在,则可以依赖 PyPI:

    python3 -m pip install <module_name> --user
    

    来自我的回答here 让我们把这个命令分成两部分:

    • python -m:允许使用 Python 模块命名空间定位模块以作为脚本执行。激励示例是标准库模块,例如 pdb 和 profile。见PEP 338

    • --user :默认情况下,Python 将 Python 包安装到需要 root 权限的系统目录,以避免使用 sudo pip install(顺便不推荐)使用此标志在您的家中制作 pip 安装包目录,而不需要任何特殊权限。

    附带说明,如果您安装了多个 Python 版本,跟踪 pip 绑定到的 Python 版本可以是 PITA,因此python -m,在这种情况下,您确定它是 pip 绑定的到将被执行的 Python 调用。

    虽然前一种方法有效(有点),但建议使用virtual environments,因为许多 Linux 发行版(包括 CentO)依赖于一些 Python 模块,除非你知道自己在做什么或你不想修改它们绝对想破坏你的系统。

    另外,如果您只想“在隔离环境中安装和运行 Python 应用程序”,您可以查看pipx

    【讨论】:

    • 但是,如果我希望这些包与其他包/usr/lib64/python3.4 位于同一位置并且可供其他人使用,那么是否需要 root?例如像其他人已经安装的那样安装,尽管不是最佳的。 root root /usr/lib64/python3.4/unittest//
    【解决方案2】:

    当我想直接引用python3时,我总是使用pip3。

    如果我想使用 PIP 在 python3.4 中安装一个模块,步骤是什么? 1. sudo 作为根? 2.设置环境变量? 3.等等……

    就这个

    sudo apt install python3-pip

    pip3 安装 xyz

    【讨论】:

      猜你喜欢
      • 2019-02-27
      • 2020-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-10
      相关资源
      最近更新 更多