热门标签:
Q:

停车/停车setup.py 从安装为蛋

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

sudopythonsetup.py 安装/安装

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

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

sudo easy_install -m boto
cd path/to/boto-xyz.egg
sudo mv boto ..
sudo rm -rf boto-xyz.egg
原网址
A:

解决方案1:

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

python setup.py install --single-version-externally-managed --root=/

压缩 *。egg文件是 setuptools 的发明(我不是他们的忠实粉丝,尽管我理解他们为什么被创建)并且因为 setup.py 脚本正在使用(并且可能需要)setuptools,该软件包最终被安装为压缩的 *。蛋 文件。

解决方案2:

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

pip install .

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

所有回答

共 1 条

author avatar

多年后,同样的问题,不满意接受的答案。 在Google groups中找到了这个:

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创建一个源分布,它自然不是*。鸡蛋! 由此产生的存档(。焦油。unix中的gz,。zip in windows)可以像任何带有pip的远程模块一样安装。 它甚至不需要额外的参数! 这导致期望的完全可浏览的模块。

相似问题