2017-07-31 78 views
4

我正在关注一个Flask教程,其中使用了我使用的virtualenv,并且使用它我构建了一个如下所示的应用程序目录树:在virtualenv中设置:`pip install -e .`和`python setup.py install`

app/ 
|__app/ 
|__app.egg-inf/ 
|__setup.py 
|__venv/ 

里面我venv教程告诉我跑pip install -e .这似乎可以用我的setup.py安装依赖和我的应用程序。

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

(FWIW,pip install -e .export FLASK_APP=app; flask run工作正常,但一个python setup.py install后不工作)

回答

3

首先,你提到的是不等价的,具体python setup.py install不给你一个可编辑安装的命令。的pip <-> python setup.py当量是:

Editable pip     setup.py 
yes  pip install -e .  python setup.py install  
no   pip install .   python setup.py develop  

随着中说,使用pip在一般推荐的范围内的原因如下:

  • 依赖关系被自动安装
  • 有一种简单的方法来卸载

在你的情况下,我高度怀疑你的软件包有一个依赖项,如果你使用pip,bu如果你使用python setup.py install则不行。

相关问题