其他分享
首页 > 其他分享> > 从PyPI安装包的问题:未安装根文件

从PyPI安装包的问题:未安装根文件

作者:互联网

安装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的软件包似乎可以很好地解码bencoded数据.大多数情况下,我想知道如何在其他包中处理这些问题.我还想让包维护者知道包是否需要更新.

编辑

@Andrey Popp解释说setup.py文件可能存在问题.我想我能真正得到问题答案的唯一方法是实际使用R-ing TFM.但是因为我可能没有时间彻底地做到这一点,我已经发布了setup.py文件here .

快速浏览the easy_install manual可以看出,该模块的setup.py使用的函数find_modules()在包中搜索名为__init__.py的文件.有问题的源代码文件名为bencode.py,所以这可能是问题所在:它应该命名为__init__.py?

编辑2

现在学习了Python打包,我认为问题在于这个模块使用的是setuptools.find_packages,并且它的源代码位于其目录结构的根目录下,但是没有传递package_dir中的任何内容.修复它似乎相当简单.但是,他的PyPI联系信息无法访问作者.模块的PyPI页面也列出了“包索引所有者”.我不确定这是什么意思,但我确实设法与那个人联系,我认为他可能无法维护模块.在任何情况下,它仍然处于与我在六月发布此问题时相同的状态.

鉴于模块似乎或多或少被放弃了,并且在hunnyb中有一个合适的替代品,我已经接受了@andreypopp的答案与我将得到的一样好.

解决方法:

看来这个包的setup.py被破坏了 – 它没有定义正确的包分发.我想,您需要检查源代码版本中的setup.py,如果是,请向该软件包的作者报告错误.

标签:python,pip,easy-install,pypi
来源: https://codeday.me/bug/20190710/1422454.html