virtualenv中的安装程序:`pip install-e.`vs`python Setup.py install`

virtualenv中的安装程序:`pip install-e.`vs`python Setup.py install`,python,pip,virtualenv,setup.py,Python,Pip,Virtualenv,Setup.py,我正在学习Flask教程,该教程让我使用virtualenv,并用它构建了一个应用程序目录树,如下所示: app/ |__app/ |__app.egg-inf/ |__setup.py |__venv/ 在我的venv中,教程告诉我运行pip install-e.,它似乎在使用我的setup.py安装依赖项和我的应用程序 为什么教程让我运行pip安装-e.?为什么不python setup.py安装?有什么区别 (FWIW,export FLASK\u APP=APP;FLASK run在p

我正在学习Flask教程,该教程让我使用
virtualenv
,并用它构建了一个应用程序目录树,如下所示:

app/
|__app/
|__app.egg-inf/
|__setup.py
|__venv/
在我的
venv
中,教程告诉我运行
pip install-e.
,它似乎在使用我的
setup.py
安装依赖项和我的应用程序

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


(FWIW,
export FLASK\u APP=APP;FLASK run
pip安装-e.
后工作正常,但在
python setup.py安装后不工作

首先,您提到的命令并不等效,特别是
python setup.py安装
不会提供可编辑的安装。pip 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

我相信2月21日的编辑将setup.py下的“install”和“develop”放在了错误的行中。