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

2024-09-27 23:43:46 发布

您现在位置:Python中文网/ 问答频道 /正文

在通过easy_install BitTorrent-bencode或{}安装BitTorrent-bencode包之后,或者通过easy_install $tarball下载tarball并安装它,我发现/usr/local/lib/python2.6/dist-packages/BitTorrent_bencode-5.0.8-py2.6.egg/包含{}和test/目录。尽管这两个子目录都包含文件,但是BitTorr*目录本身没有文件。tarball确实包含bencode.py,它本来是这个包的实际源代码,但是这两个util都没有安装它。在

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

与安装这个特定的包相比,我更感兴趣的是了解这个包或我的过程有什么问题;还有另一个名为hunnyb的包似乎可以很好地解码bencoded数据。我主要想知道如何在其他软件包中处理这些问题。我还想让包维护人员知道包是否需要更新。在

编辑

@Andrey Popp解释说问题很可能是设置.py文件。我想我能真正得到问题答案的唯一方法就是用R-ing TFM。然而,由于我可能暂时没有时间彻底地做这件事,我已经发布了设置.py文件here。在

快速浏览the easy_install manual会发现函数find_modules(),该模块的设置.py利用,搜索包中名为__init__.py的文件。有问题的源代码文件名为bencode.py,所以可能是问题所在:它应该命名为__init__.py?在

编辑2

在了解了Python打包之后,我发现问题是这个模块使用了setuptools.find_packages,它的源代码位于其目录结构的根目录下,但是没有在package_dir中传递任何内容。这似乎是相当微不足道的修复。但是,作者的PyPI联系方式无法联系到他。模块的PyPI页面也列出了一个“包索引所有者”。我不知道这是什么意思,但我确实设法与那个人取得了联系,我认为他可能无法维护模块。不管怎样,它的状态仍然和我6月份发布这个问题时的状态一样。在

考虑到这个模块似乎或多或少被抛弃了,并且在hunnyb中有一个合适的替代品,我已经接受了@andreypop的答案是关于我将得到的最好的一个。在


Tags: 模块install文件答案py目录编辑源代码
1条回答
网友
1楼 · 发布于 2024-09-27 23:43:46

看起来这个包裹设置.py已损坏-它没有为分发定义正确的包。我想,你需要检查一下设置.py在源代码版本中,如果是真的-向这个包的作者报告一个bug。在

相关问题 更多 >

    热门问题