【问题标题】:How can I make setup tools install a github forked PyPI package?如何让安装工具安装 github 分叉的 PyPI 包?
【发布时间】:2013-08-18 08:23:55
【问题描述】:

这是示例场景。

有一个python包not-mine,我刚刚在里面发现了一个小bug。我在 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'
]

我错过了什么?

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

【问题讨论】:

  • 我写的包也有同样的问题。

标签: python github fork setuptools pypi


【解决方案1】:

您应该能够将 pip 指向带有错误修复的分叉仓库的 URL,因为 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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      pip install -e ~/Repositories/some_local_fork_repo_path/
      

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

      【讨论】:

        猜你喜欢
        • 2011-03-29
        • 2011-11-06
        • 2022-01-15
        • 2016-11-07
        • 2021-09-01
        • 1970-01-01
        • 2018-02-03
        • 1970-01-01
        • 2015-03-09
        相关资源
        最近更新 更多