在Linux上从Github安装Python软件包

时间:2020-03-21 11:45:45  来源:igfitidea点击:

有时,我们想要安装的特定Python包或者脚本可能无法在Python包索引(PYPI)中提供。

即使该包在PYPI中提供,也可能无法使用该包的新功能。
因此,我们无法在Linux框中使用PIP包管理器安装它。
在这种情况下,我们可以直接从其官方GitHub存储库安装这些包。
此简要介绍介绍了如何从Github上安装Python软件包以及其他类似UNIX的发行版。

准备工作

确保我们在Linux系统上安装了Git和PIP。
两个包都可以在大多数Linux发行版的默认存储库中提供。

要在Arch Linux上安装Git及其变体,如Manjaro Linux,运行:

$sudo pacman -S git

在Debian,Ubuntu:

$sudo apt install git

在Fedora,Centos,Rhel:

$sudo dnf install git

OpenSUSE:

$sudo zypper install git

要安装pip,请参阅以下教程:

  • 如何使用pip管理python包

在Linux上从Github安装Python软件包

PIP支持从GIT,Mercurial,Subversion和Bazaar安装,并使用URL前缀检测VCS类型:Git +,HG +,SVN +和BZR +。
PIP目前支持克隆;

  • git,
  • git + http,
  • git + https,
  • git + ssh,
  • git + git
  • 和git +文件

出于本教程的目的,我将使用"例如",Python客户端访问TLDR页面。

要从GitHub安装例如Python软件包,只需运行:

$pip install git+https://github.com/srsudar/eg.git

示例输出:

Collecting git+https://github.com/srsudar/eg.git
Cloning https://github.com/srsudar/eg.git to /tmp/pip-80a8bmyb-build
Installing collected packages: eg
Running setup.py install for eg ... done
Successfully installed eg-1.1.1

我们可以在上面命令结束时包含egg = <projectName>部分以显式命名项目。
这样,PIP可以跟踪它的元数据,而无需运行setup.py脚本。

$pip install git+https://github.com/srsudar/eg.git#egg=eg

我们还可以通过GitHub安装包时传递分支名称,提交哈希,标记名称或者Git Ref。
例如,以下命令将从Master Branch安装Python包。

$pip install git+https://github.com/srsudar/Hyman@theitroad#egg=eg

从github安装python包的另一种方法是git克隆存储库:

$git clone https://github.com/srsudar/eg.git

然后CD进入项目目录:

$cd eg

最后,运行以下命令以安装它:

$sudo python setup.py install

或者,

$sudo pip install -e .

如果我的系统上没有git,怎么办?

只是在Linux系统上安装了Git,通过提及其tar包文件的完整路径,安装Python包,如下所示。

$pip install https://github.com/srsudar/eg/archive/v1.1.1.tar.gz