繁体   English   中英

“pip install --editable ./” vs “python setup.py develop”

[英]“pip install --editable ./” vs “python setup.py develop”

之间是否有显着差异

pip install -e /path/to/mypackage

和 setuptools 变体?

python /path/to/mypackage/setup.py develop

尽量避免直接调用setup.py ,它不会正确地告诉 pip 你已经安装了你的包。

使用pip install -e

对于本地项目,“SomeProject.egg-info”目录是相对于项目路径创建的。 与仅使用setup.py develop ,这是一个优势,后者直接相对于当前工作目录创建“egg-info”。

更多: 文档

另请阅读 setuptools 的文档

还有一个区别: pip install -e使用轮子,而python setup.py develop
不使用它。

使用install ,您可以通过使用实现相同的行为
pip install -e /path/to/package --no-use-wheel

有关轮子的更多信息: python 轮子

可能有利于pip install -e另一个区别是,如果您的项目在setup.py install_requires中有依赖项,则pip install -e . 使用 pip 安装依赖项,而python setup.py develop可以使用easy_install安装,并且可能会导致问题 re: 'egg-info' 如上所述。 install-requires使用带有自定义 git URL 的dependency_links时,附加egg 标识符,这可能特别烦人。

另一个区别:当您为一个被认为是预发行版的版本运行python setup.py develop (可能是因为您在没有签出发行版时从 git clone 运行它),那么您将启用发行版的安装- 发布您的依赖项 另一方面,使用pip install --editable你必须明确地传递--pre如果你想要这些预发布。

(请参阅意外使用预发布CI 日志,并将其与此处的固定版本进行比较。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM