gpt4 book ai didi

python 包 : how to depend on the latest version of a separate package

转载 作者:太空宇宙 更新时间:2023-11-04 06:37:24 24 4
gpt4 key购买 nike

我正在开发一个测试 django 站 pip 的代码,我将其保存在 bitbucket 存储库中,以便能够轻松地将其部署在远程服务器上,并可能与 friend 共享开发。我使用 hg 进行版本控制。

该站 pip 依赖于第 3 方应用程序 (django-registration),我需要为我的站 pip 自定义该应用程序,因此我 fork 了原始应用程序并为其创建了第二个存储库(我的想法是这样我可以跟上对原件进行更新,如果我只是将代码粘贴到我的主站 pip ,再加上我自己的自定义代码,这是不可能的)(您可以在 question 上查看更多详细信息)

我的问题是,如何在我的 setup.py 文件上指定要求,以便在我安装我的 django 站 pip 时,我得到我的第 3 方应用程序的最新版本(我使用分发而不是 setuptools 以防有区别)?

我试过这个:

install_requires = ['django', 'django-registration'],
dependency_links = ['https://myuser@bitbucket.org/myuser/django-registration#egg=django_registration']

但这让我得到了原始主干上的最新命名版本(所以甚至不是 tip 版本)

但是使用 pip 需求文件效果很好:

hg+https://myuser@bitbucket.org/myuser/django-registration#egg=django-registration

从我的 fork 中获取最新版本。

有没有办法直接从 setup.py 文件中获得相同的行为,而不必先安装站 pip 代码,然后运行 ​​pip install -r requirements.txt?

question信息量很大,但似乎建议我应该依赖版本“dev”或第 3 方包,这是行不通的(我想必须有一个标记为 dev 的特定版本)

此外,我在打包/分发/设置工具方面完全是个新手,所以不要犹豫拼写步骤 :)

也许我应该更改我的第 3 方应用程序分支上的 setup.py 文件,并确保它提到版本号。一般来说,我很想知道什么是源代码分发,而不是简单地将我的代码放在公共(public)存储库中,以及在我的情况下什么是二进制分发(一个 egg 文件?),以及这是否更实用我在远程部署时/让我的 friend 在他的电脑上部署。并且还想知道如何在我的存储库中标记一个版本以供 setup.py 引用它,它只是一个版本控制标记(在我的例子中是 hg)吗?请随意评论您认为对入门打包程序重要的任何细节:)

谢谢!

最佳答案

放这个:

dependency_links=['https://bitbucket.org/abraneo/django-registration/get/tip.tar.gz#egg=django-registration']

在 dependency_links 中,你必须像那个一样传递一个下载 url。

“abraneo”也是这个项目的一个分支,用你的名字代替他的名字。

关于 python 包 : how to depend on the latest version of a separate package,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8874995/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com