"pip install --editable ./" 对比 "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
:
For local projects, the “SomeProject.egg-info” directory is created
relative to the project path. This is one advantage over just using
setup.py develop
, which creates the “egg-info” directly relative the
current working directory.
更多:docs
另请阅读设置工具的 docs。
还有一个区别:pip install -e
使用 wheel 而
python setup.py develop
不使用它。
使用 install
,您可以使用
实现相同的行为
pip install -e /path/to/package --no-use-wheel
有关车轮的更多信息:python wheels
另一个可能有利于 pip install -e
的区别是,如果您的项目在 setup.py
中具有 install_requires
中的依赖项,则 pip install -e .
使用 pip 安装依赖项,而 python setup.py develop
可以用 easy_install
安装,并且可能会引起问题 re: 'egg-info' 如上所述。当 install-requires
将 dependency_links
与自定义 git URL 一起使用,并带有附加的鸡蛋标识符时,这可能会特别烦人。
还有一个区别:当你 运行 python setup.py develop
一个被认为是预发布的版本时(可能是因为你 运行 从 git clone when not have checked out a release), 那么你将启用安装 依赖项的预发布 。另一方面,对于 pip install --editable
,如果您想要这些预发布版本,则必须显式地传递 --pre
。
(参见CI log with pre-releases accidentally used and compare that to a fixed build here。)
和
有什么显着区别吗pip install -e /path/to/mypackage
和 setuptools 变体?
python /path/to/mypackage/setup.py develop
尽量避免直接调用 setup.py
,它不会正确地告诉 pip 您已经安装了包。
与pip install -e
:
For local projects, the “SomeProject.egg-info” directory is created relative to the project path. This is one advantage over just using
setup.py develop
, which creates the “egg-info” directly relative the current working directory.
更多:docs
另请阅读设置工具的 docs。
还有一个区别:pip install -e
使用 wheel 而
python setup.py develop
不使用它。
使用 install
,您可以使用
实现相同的行为
pip install -e /path/to/package --no-use-wheel
有关车轮的更多信息:python wheels
另一个可能有利于 pip install -e
的区别是,如果您的项目在 setup.py
中具有 install_requires
中的依赖项,则 pip install -e .
使用 pip 安装依赖项,而 python setup.py develop
可以用 easy_install
安装,并且可能会引起问题 re: 'egg-info' 如上所述。当 install-requires
将 dependency_links
与自定义 git URL 一起使用,并带有附加的鸡蛋标识符时,这可能会特别烦人。
还有一个区别:当你 运行 python setup.py develop
一个被认为是预发布的版本时(可能是因为你 运行 从 git clone when not have checked out a release), 那么你将启用安装 依赖项的预发布 。另一方面,对于 pip install --editable
,如果您想要这些预发布版本,则必须显式地传递 --pre
。
(参见CI log with pre-releases accidentally used and compare that to a fixed build here。)