在virtualenv中设置:`pip install -e .` vs`python setup.py install`

我正在关注一个让我使用virtualenv的Flask教程,并用它构建了一个app目录树,如下所示:
app/
|__app/
|__app.egg-inf/
|__setup.py
|__venv/

在我的venv中,教程告诉我运行pip install -e.这似乎是使用我的setup.py来安装依赖项和我的应用程序.

为什么教程让我运行pip install -e.?为什么不安装python setup.py?有什么区别?

(FWIW,导出FLASK_APP = app;在pip install -e后,flask运行正常.但在python setup.py安装后无效)

解决方法

首先,您提到的命令并不等效,特别是python setup.py install不会为您提供可编辑的安装.点数< - > python setup.py等价物是:
Editable   pip                    setup.py
yes        pip install -e .       python setup.py develop    
no         pip install .          python setup.py install

话虽如此,一般建议使用pip有一系列原因:

>自动安装依赖项
>有一种简单的卸载方式

在您的情况下,我非常怀疑您的包具有依赖关系,如果您使用pip则会自动安装,但如果您使用python setup.py install则不会.

相关文章

在这篇文章中,我们深入学习了XPath作为一种常见的网络爬虫技巧。XPath是一种用于定位和选择XML文档中特...
祝福大家龙年快乐!愿你们的生活像龙一样充满力量和勇气,愿你们在新的一年里,追逐梦想,勇往直前,不...
今天在爬虫实战中,除了正常爬取网页数据外,我们还添加了一个下载功能,主要任务是爬取小说并将其下载...
完美收官,本文是爬虫实战的最后一章了,所以尽管本文着重呈现爬虫实战,但其中有一大部分内容专注于数...
JSON是一种流行的数据传输格式,Python中有多种处理JSON的方式。官方的json库是最常用的,它提供了简单...
独立样本T检验适用于比较两组独立样本的均值差异,而配对T检验则适用于比较同一组样本在不同条件下的均...