首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >阻止setup.py作为egg安装

阻止setup.py作为egg安装
EN

Stack Overflow用户
提问于 2011-06-10 01:13:48
回答 2查看 22.4K关注 0票数 69

如何阻止setup.py将包安装为一个鸡蛋?或者更好的是,如何将包作为easy_install安装为egg

sudo setup.py安装

原因是PyDevegg格式的包相当挑剔.我目前感兴趣的包裹是boto

更新:--我找到了一种蛮力的方法:

代码语言:javascript
复制
sudo easy_install -m boto
cd path/to/boto-xyz.egg
sudo mv boto ..
sudo rm -rf boto-xyz.egg
EN

回答 2

Stack Overflow用户

发布于 2015-11-18 21:44:28

解决方案1:

我觉得我好像错过了一些微妙或重要的东西(在被问到问题多年之后遇到这个页面,却找不到令人满意的答案),但是以下几点对我来说是很好的:

代码语言:javascript
复制
python setup.py install --single-version-externally-managed --root=/

压缩*.egg文件是setuptools工具的发明(我不太喜欢它们,尽管我理解为什么要创建它们),而且由于setup.py脚本正在使用(而且可能需要) setuptools,所以包最终被安装为一个压缩的*.egg文件。

解决方案2:

上面的命令行选项是pip ( package )使用的类似于那些,它暗示了另一种阻止包作为压缩*.egg文件安装的方法:只需使用pip!如果您有一个包含setup.py脚本的目录,可以在该目录中运行以下命令来使用pip安装包:

代码语言:javascript
复制
pip install .

与上面的setup.py命令相比,这是一个改进,因为它跟踪其他元数据(例如,跟踪已安装的文件可以更可靠地删除)。

票数 87
EN

Stack Overflow用户

发布于 2014-11-27 16:46:05

几年后,同样的问题,不满意接受的答案。在Google组中发现了这一点:

代码语言:javascript
复制
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的远程模块一样安装。它甚至不需要额外的参数!这将产生所需的完全可浏览模块。

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6301003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档