pywhois 的 Django Buildout 配方(不在 pypi 上)

Posted

技术标签:

【中文标题】pywhois 的 Django Buildout 配方(不在 pypi 上)【英文标题】:Django Buildout recipe for pywhois (not on pypi) 【发布时间】:2012-12-21 06:18:24 【问题描述】:

我正在尝试在 google 代码上为 pywhois 创建一个构建配方。

它的网站在这里: http://code.google.com/p/pywhois/

注意:如果您使用 easy_install pywhois,它会从 pypi(python 包索引)安装另一个包:http://pypi.python.org/pypi/pywhois/0.1

我正在关注关于构建配方的文档... (http://pypi.python.org/pypi/djangorecipe/1.3)

我发现我可以从这里克隆源代码:

hg clone https://code.google.com/p/pywhois/

但我无法将它们全部放在一个有效的构建脚本中......(老实说,这是我的第一个构建脚本试验......对于所有其他包,我找到了一个现有的配方,通常我会尝试避免任何不在 pypi 上的东西)

我在他们的网站上创建了 2 个问题...其中一个是使用与 python 包索引不同的名称,另一个是在那里获取他们的包。

有什么建筑大师吗?

编辑

(已经有 2 个人想帮助我,谢谢!)

我在 buildout.conf 中使用了这个:

extensions = 
    buildout.dumppickedversions
    mr.developer
auto-checkout = pywhois

并添加到我的列表中: 开发 = src/pywhois

并添加到我的鸡蛋列表中:

eggs =
    myproject
    pywhois

并声明了repo的来源:

[sources]
pywhois = hg https://code.google.com/p/pywhois/

当然也可以添加到鸡蛋中:pywhois

它正在下载它并创建一个鸡蛋......

EDIT2

无论我做什么,我都会不断收到:现有软件包“pywhois”的源 URL 不同。应为“https://code.google.com/p/pywhois/”。”;

在我看来,如果谷歌代码包的包名要改变,这个问题就会得到解决......我已经在问题跟踪器上得到了关于这个的回复。

见http://code.google.com/p/pywhois/issues/detail?id=33

编辑 3:现在在 PyPI 上:python-whois

而且,开发人员 (Richard Penman) 的出色快速操作。所以这个包被重命名为 python-whois (他正在考虑另一个名字,但现在这个工作)。他把它放在pypi上!

所以这个问题对我来说已经解决了,但是 Martijn 和 Reinout 的回答让我学到了更多关于构建的知识,谢谢!

【问题讨论】:

【参考方案1】:

我会使用mr.developer 来获取本地结帐,并将其用作开发彩蛋:

[buildout]
extensions = mr.developer
auto-checkout = pywhois

[sources]
pywhois = hg https://code.google.com/p/pywhois/

现在mr.developer 将检查pywhoissrc/,运行它的setup.py 使其成为一个开发蛋,并告诉buildout 它可以这样使用。现在 buildout 将使用该本地副本来满足任何 pywhois 要求。

【讨论】:

最佳选择。另一种方法是使用 .zip 下载作为查找链接,并将 #egg=pywhois-0.1 直接附加到 .zip 文件名(将 0.1 更改为任何版本)。并在您的版本列表中准确要求该版本。但是... mr.developer 更方便更短。 尝试这个我不断得到" "现有包 'pywhois' 的源 URL 不同。预期为“code.google.com/p/pywhois/'”。我已经使用了“sudo easy_install -m pywhois”,但这只会在系统上卸载它...如何删除带有 buildout (sysegg) 的安装包... 不,但我之前从 pypi 安装了 pywhois(不幸的是,名称完全相同),我使用 sys egg 将它安装在我的 buildout 文件夹中......根据你的建议(并为 hg checkout 安装 mercurial ) 它使用 egg 信息和 setup.py 以及其他目录和文件创建了 src/pywhois 文件夹.... 不确定你所说的系统鸡蛋是什么意思。您无法删除错误的 pywhois 鸡蛋? 哎,我还有一个旧的部分叫做 [pywhois] 与早期的试验保持一致。删除它们...我得到“mr.developer:'eggs' 的源定义至少需要存储库类型和 URL。”

以上是关于pywhois 的 Django Buildout 配方(不在 pypi 上)的主要内容,如果未能解决你的问题,请参考以下文章

buildout 和 setuptools 要求

使用 zc.buildout 指定自定义 PYTHON_EGG_CACHE 目录?

Django 管理员身份验证失败

在zc.buildout中,如何安装egg A,然后安装需要egg A才能正确安装的egg B?

zc.buildout构建项目时报错‘AttributeError: '_NamespacePath' object has no attribute 'sort'’(

Django 1.8 和 syncdb / migrate 的 auth_user 错误