如何阻止setup.py
将软件包安装为鸡蛋? 或者更好的是,我如何easy_install
将软件包安装为egg
?
sudopythonsetup.py 安装/安装
原因是PyDev
对egg
格式的包相当挑剔。.. 我目前感兴趣的软件包是boto
。
更新:我找到了蛮力的方法:
sudo easy_install -m boto
cd path/to/boto-xyz.egg
sudo mv boto ..
sudo rm -rf boto-xyz.egg
如何阻止setup.py
将软件包安装为鸡蛋? 或者更好的是,我如何easy_install
将软件包安装为egg
?
sudopythonsetup.py 安装/安装
原因是PyDev
对egg
格式的包相当挑剔。.. 我目前感兴趣的软件包是boto
。
更新:我找到了蛮力的方法:
sudo easy_install -m boto
cd path/to/boto-xyz.egg
sudo mv boto ..
sudo rm -rf boto-xyz.egg
我觉得我错过了一些微妙或重要的东西(在问题被问到几年后遇到这个页面,没有找到令人满意的答案)但是下面的工作对我来说很好:
python setup.py install --single-version-externally-managed --root=/
压缩
*。egg文件是
setuptools
的发明(我不是他们的忠实粉丝,尽管我理解他们为什么被创建)并且因为
setup.py
脚本正在使用(并且可能需要)setuptools,该软件包最终被安装为压缩的
*。蛋
文件。
上面的命令行选项
类似于pip(Python包管理器)使用的那些
,它暗示了另一种方法来阻止包作为压缩的
*安装。egg
文件:只需使用pip! 如果你有一个包含
的目录setup.py
脚本您可以在该目录中运行以下命令以使用pip安装软件包:
pip install .
与上面的
setup.py
命令相比,这是一个改进,因为它跟踪额外的元数据(例如,跟踪已安装的文件可以更可靠地删除)。
多年后,同样的问题,不满意接受的答案。 在Google groups中找到了这个:
解释:
python setup.py sdist
创建一个源分布,它自然不是*。鸡蛋! 由此产生的存档(。焦油。unix中的gz,。zip in windows)可以像任何带有pip的远程模块一样安装。 它甚至不需要额外的参数! 这导致期望的完全可浏览的模块。