如何阻止setup.py将包安装为一个鸡蛋?或者更好的是,如何将包作为easy_install安装为egg?
sudo setup.py安装
原因是PyDev对egg格式的包相当挑剔.我目前感兴趣的包裹是boto。
更新:--我找到了一种蛮力的方法:
sudo easy_install -m boto
cd path/to/boto-xyz.egg
sudo mv boto ..
sudo rm -rf boto-xyz.egg发布于 2015-11-18 21:44:28
解决方案1:
我觉得我好像错过了一些微妙或重要的东西(在被问到问题多年之后遇到这个页面,却找不到令人满意的答案),但是以下几点对我来说是很好的:
python setup.py install --single-version-externally-managed --root=/压缩*.egg文件是setuptools工具的发明(我不太喜欢它们,尽管我理解为什么要创建它们),而且由于setup.py脚本正在使用(而且可能需要) setuptools,所以包最终被安装为一个压缩的*.egg文件。
解决方案2:
上面的命令行选项是pip ( package )使用的类似于那些,它暗示了另一种阻止包作为压缩*.egg文件安装的方法:只需使用pip!如果您有一个包含setup.py脚本的目录,可以在该目录中运行以下命令来使用pip安装包:
pip install .与上面的setup.py命令相比,这是一个改进,因为它跟踪其他元数据(例如,跟踪已安装的文件可以更可靠地删除)。
发布于 2014-11-27 16:46:05
几年后,同样的问题,不满意接受的答案。在Google组中发现了这一点:
pushd /path/to/my/package/
python setup.py sdist
popd
pip install /path/to/my/package/dist/package-1.0.tar.gz说明:python setup.py sdist创建了一个源发行版,它自然不是*.egg!生成的归档文件( unix中的.tar.gz,windows中的.zip )可以像任何带有pip的远程模块一样安装。它甚至不需要额外的参数!这将产生所需的完全可浏览模块。
https://stackoverflow.com/questions/6301003
复制相似问题