18

这是示例场景。

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

我需要一种方法来安装我的分叉存储库,而不是安装在 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'
]

我错过了什么?

我在调查该问题时偶然发现的资源: 如何让 setuptools 安装不在 PyPI 上的包?

4

3 回答 3

5

您应该能够pip使用错误修复指向您的分叉存储库的 URL,因为pip 可以直接从 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
于 2015-03-23T03:47:39.173 回答
1

如果你只是想在你的系统上安装你的分叉包,你可以简单地将包克隆到你的系统并使用python setup.py install命令在你的系统上本地安装该包。

如果您需要使用自己修改的包部署应用程序,我建议您使用python 虚拟环境

于 2016-09-02T04:01:14.150 回答
0

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

pip install -e ~/Repositories/some_local_fork_repo_path/

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

于 2017-08-26T20:02:12.870 回答