如何让`pip install --editable`运行sdist而不是develop?

2 投票
1 回答
3640 浏览
提问于 2025-04-15 16:59

这篇关于如何使用pip或easy_install从仓库安装Python包的内容提到了pip的一些很有意思的功能。

不过,有时候你可能只想安装源代码包;这种情况特别常见在以下几种情况下:

  • 你在使用虚拟环境(virtualenv),这样你就不需要担心会搞乱Python的路径,因为你就是想在这个环境里做这些事情),
  • 你不是那个包的开发者,也不想让它变成“可编辑”的状态,
  • 你无法使用pip安装某个包,因为这个包不在任何索引里,
  • 当没有tar.gz文件可用的时候。

感谢你的回答!

1 个回答

3

你试过不加 --editable 这个选项吗?如果我运行

pip install hg+http://bitbucket.org/carljm/django-markitup/

它会把代码库克隆到一个临时的构建目录,然后正常安装(通过 setup.py install,而不是 setup.py develop)。

当然,如果你之后冻结这个环境,生成的需求就无法满足了。如果你需要这样做,那就用 --editable(其实没什么大区别,即使你不需要编辑这个包,它也能正常工作)或者你可以自己运行类似于 chishop 的东西,把你需要的 sdists 上传上去,然后使用 -i 或 --extra-index-url 选项。

撰写回答