使用 Python 数据包管理器(pip)安装应用程序的正确方法是什么?

使用 Python 数据包管理器(pip)安装应用程序的正确方法是什么?

我想知道是否有一种标准方法可以使用 pip 安装 python 应用程序(不使用 sudo)以使其在全球范围内运行?

例子:

  • 我想使用 pip 安装一个名为 jrnl 的命令行日志应用程序。如果您执行“sudo pip install jrnl”,它会正常工作,但是,我猜这是一种令人尴尬的方法。

  • 如果我不使用 sudo 仅使用“pip install jrnl”进行安装,它会安装在 .local/ 中而没有全局访问权限。

我已经找到了几种方法可以做到这一点,但想知道是否有一种常见的、可接受的安全方法?

谢谢!

答案1

它可以安装在路径中的任何位置。我发现的几个选项是:

  1. 安装至.local

    • pip install --user <pip-pkg-name>
    • 这将按照您注意到的方式进行安装,.local因此位置需要在您的路径中,并使用.bashrc可以完成的文件。
    • 将其添加export PATH=$PATH:/home/$USER/.local/bin到您的/home/$USER/.bashrc文件中。这样您就可以从任何地方访问它。
  2. export PYTHONUSERBASE=/myappenv在您的文件中使用此行添加自定义路径.bashrc。现在当您这样做时pip install --user <pip-pkg-name>它将安装在 中/myappenv

    • 请注意,您必须先创建该路径,然后使用以下行将/myappenv其添加到您的文件中.bashrcexport PATH=$PATH:/myappenv
  3. 既然如此,您提到的所谓的标准方式应该用于python environment a.ka. virtualenv安装和运行该应用程序的包,而不是像上面(1)和(2)中那样全局安装和运行。

    • 使用 为 python2+ 安装sudo pip install virtualenv,或者使用 为 python 3+安装sudo pip3 install virtualenv
    • 用法:

      • virtualenv venv
      • 选择您喜欢的解释器:

        • Python 2+:virtualenv -p python2.7 venv
        • Python 3+:virtualenv -p python3 myenv
      • 激活它:source venv/bin/activate
      • 停用它:deactivate

看:

http://kazhack.org/?post/2014/12/12/pip-gem-install-without-sudo

https://gist.github.com/Geoyi/d9fab4f609e9f75941946be45000632b

相关内容