通过easy_install BitTorrent-bencode
或pip install BitTorrent-bencode
安装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的软件包似乎可以很好地解码已编码的数据。大多数情况下,我想知道如何在其他包中处理这些问题。我还想让软件包维护者知道软件包是否需要更新。
快速浏览the easy_install manual显示,该模块的setup.py使用的函数find_modules()搜索包中名为__init__.py
的文件。有问题的源代码文件名为bencode.py
,因此可能是问题所在:它应该命名为__init__.py
?
现在已经学习了Python打包,我认为问题是这个模块正在使用setuptools.find_packages
,并且其源代码位于其目录结构的根目录,但是没有传递package_dir
中的任何内容。 。修复它似乎相当简单。但是,他的PyPI联系信息无法访问作者。模块的PyPI页面也列出了“包索引所有者”。我不确定这是什么意思,但我确实设法与那个人联系,我认为他可能无法维护模块。在任何情况下,它仍然处于与我在六月发布此问题时相同的状态。
鉴于该模块似乎或多或少被放弃了,并且在hunnyb中有一个合适的替代品,我已经接受了@andreypopp的答案与我要去的一样好。得到。
答案 0 :(得分:1)
这个软件包的setup.py似乎已经破了 - 它没有定义正确的软件包以便分发。我想,您需要检查源代码版本中的setup.py,如果确实如此 - 向该软件包的作者报告错误。