代码之家  ›  专栏  ›  技术社区  ›  intuited

从pypi安装包时出现问题:未安装根文件

  •  4
  • intuited  · 技术社区  · 14 年前

    安装后 BitTorrent-bencode 包裹,通过 easy_install BitTorrent-bencode pip install BitTorrent-bencode 或者下载tarball并通过安装 easy_install $tarball 我发现 /usr/local/lib/python2.6/dist-packages/BitTorrent_bencode-5.0.8-py2.6.egg/ 包含 EGG-INFO/ test/ 目录。尽管这两个子目录都包含文件,但是 BitTorr* 目录本身。tarball确实包含 bencode.py ,这意味着它是这个包的实际源代码,但这些实用程序中的任何一个都没有安装它。

    我对所有这些都很陌生,所以我不确定这是不是包装问题还是我在做什么。包是在不久前打包的(2007年),所以可能它使用了一些不推荐使用的配置方面,我需要为其提供一个命令行标志。

    比起安装这个特定的包,我更感兴趣的是了解包或我的过程有什么问题;还有一个包叫做 hunnyb 这似乎在解码本编码数据方面做得足够好。大多数情况下,我想知道如何在其他软件包中处理这些问题。我还想让包维护人员知道包是否需要更新。

    编辑

    @Andrey Popp解释说,问题可能出在setup.py文件中。我想我能真正回答我的问题的唯一方法是通过实际的学习 TFM . 不过,由于我可能暂时还没有时间彻底完成这项工作,所以我已经发布了setup.py文件。 here .

    快速浏览 the easy_install manual 显示函数find_module s()搜索名为 __init__.py 在包中。所讨论的源代码文件命名为 本科德 因此,也许这就是问题所在:它应该被命名为 π介子 ?

    编辑2

    在学习了Python打包之后,我认为问题在于这个模块正在使用 setuptools.find_packages ,并且其源位于目录结构的根目录,但未传入任何内容 package_dir . 修理起来似乎微不足道。然而,作者无法通过他的Pypi联系信息联系到。模块的pypi页面也列出了“包索引所有者”。我不知道这意味着什么,但我确实设法联系了那个人,我认为他可能不具备维护模块的能力。无论如何,它仍然和我6月份发布这个问题时的状态相同。

    考虑到模块似乎或多或少被废弃,并且在 亨尼布 ,我接受了@andreypopp的答案和我将得到的答案一样好。

    1 回复  |  直到 14 年前
        1
  •  1
  •   andreypopp    14 年前

    似乎这个包的setup.py被破坏了,它没有为分发定义正确的包。我认为,您需要检查源代码版本中的setup.py,如果是真的,请向这个包的作者报告一个bug。