如何防止 setuptools 将包安装为 .egg

Posted

技术标签:

【中文标题】如何防止 setuptools 将包安装为 .egg【英文标题】:How to prevent setuptools install package as an .egg 【发布时间】:2013-08-20 10:28:15 【问题描述】:

例如,在 Linux 上安装 IPython(没有安装 setuptools)我在 site-packages\IPython 中安装了 IPython。

在 Windows 上安装 IPython(IPython 需要 setuptools),在执行相同的命令后

python setup.py install

我在 site-packages\ipython-0.13.2-py2.7.egg\IPython 中安装了 IPython

有没有办法将模块“旧方式”安装到site-packages\IPython

【问题讨论】:

你为什么需要这个? @ViktorKerkez 在我的应用程序中,我使用嵌入式 python。我希望已安装的包在 Linux 和 Windows 上都位于相同的路径(相对于站点包) - 这有助于我为我的应用程序保留简单的安装规则。 【参考方案1】:

我发现了

python setup.py install --old-and-unmanageable

完成了这项工作,但我不确定这是不是一个好方法,因为--old-and-unmanageable 被标记为“尽量不要使用这个!”。

【讨论】:

【参考方案2】:

我不知道它是否适用于您的情况,但 --root 选项也可以做到这一点。例如,Fedora 打包指南就利用了这一点,因为版本控制是由 RPM 外部管理的。 https://fedoraproject.org/wiki/Packaging:Python_Eggs

【讨论】:

以上是关于如何防止 setuptools 将包安装为 .egg的主要内容,如果未能解决你的问题,请参考以下文章

maven中手动将jar包安装进仓库的方法及问题

npm全局安装包的原理

npm全局安装包的原理

npm全局安装包的原理

npm全局安装包的原理

带有公司签名 SSL 证书的 Python setuptools