繁体   English   中英

pip安装程序包调用setup.py install而不是setup.py bdist_wheel

[英]pip install package call setup.py install instead of setup.py bdist_wheel

我已经创建了一个私有包,并且一切都很好。 setup.py bdist_wheel只需为其创建滚轮,其他命令即可正常运行。

也可以pip install package_xxx.whl正常工作,并正确安装创建的车轮。 但是当我尝试从需求文件或git repo或本地路径pip install软件包时,它很烂...

如您所知pip将调用setup.py文件

在我的情况下, setup.py文件使用以下参数调用了两次:(从sys.argv捕获)

['-c', 'egg_info', '--egg-base', 'pip-egg-info']
['-c', 'install', '--record', '/long/path/to/install-record.txt', '--single-version-externally-managed', '--compile']

但例如,如果我通过pip install coverage ,则覆盖程序包的setup.py文件被两次调用,如下所示:

['-c', 'egg_info', '--egg-base', 'pip-egg-info']
['-c', 'bdist_wheel', '-d', '/long/path/to/tmp82jyoapip-wheel-', '--python-tag', 'cp27']

我的程序包和coverage.py程序包中对setup.py的第一次调用相同,并且pip获取egg-info数据。 然后在coverage.py上调用setup.py bdist_wheel (所需行为),但在我的程序包上调用setup.py install (破坏行为) ,这会导致创建类似鸡蛋的项目而不是第一个。

我的setup.py文件位于以下要点中: https : //gist.github.com/wtayyeb/f26578fe6ff17dc6acd3

它在软件包中的其他文件旁边,正如我所说的,除pip install /path/to/mypackage之外,所有其他东西都在工作

谢谢。

问题出在包含setup.py的文件夹名称中。 我通过检查pip找到了它,并找到了将流程直接引导到传统方法的关键检查。 如果您感兴趣,请参见下面的链接。

https://stackoverflow.com/a/35590238/875667

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM