如何使安装工具安装github分叉的PyPI包?

时间:2013-08-16 02:00:06

标签: python github fork setuptools pypi

以下是示例方案。

有一个python包not-mine,我刚刚发现了一个小错误。我在github上找到源代码并分叉存储库。我进行了必要的更改并提交了拉取请求。不幸的是,包裹作者正在度假,我有一个截止日期。

我需要一种方法来安装我的分叉存储库而不是生活在PyPI上的作者版本。我试过以下但没有成功:

install_requires = [
    'not-mine==1.0.0'
],
dependency_links = [
    'http://github.com/my-username/not-mine/tarball/master#egg=not-mine-1.0.0'
]

我错过了什么?

资源我在调查问题时偶然发现: How can I make setuptools install a package that's not on PyPI?

3 个答案:

答案 0 :(得分:3)

您应该可以使用错误修正将pip指向分叉回购的网址,因为pip can install directly from git repos

$ pip install git+git://github.com/my-username/not-mine#egg=not-mine

您可以修改pip install命令,使用“#”前面的“@”符号指定特定的提交,分支,标记等。

$ pip install git+git://github.com/my-username/not-mine@bugfix_branch#egg=not-mine

答案 1 :(得分:1)

如果您只想在系统上安装forked forked软件包,只需将软件包克隆到系统中,然后使用python setup.py install命令在您的系统上本地安装该软件包。

如果您需要使用自己的修改包部署应用程序,那么我建议您使用python virtual environment

答案 2 :(得分:0)

您可以分叉项目并将其本地克隆到您的系统。然后通过以下方式引用此本地分支:

Customer.joins(:address_table1).where(address_table1: {shipping_address: address})

其中“〜/ Repositories / some_local_fork_repo_path /”是本地克隆分叉项目的路径。然后,您可以通过简单地处理本地项目与本地项目来控制独立于此项目的其他本地克隆分叉项目的分支等详细信息。