在virtualenv中安装:`pip install -e .` vs`python setup.py install` [英] Setup in virtualenv: `pip install -e .` vs `python setup.py install`

查看:110
本文介绍了在virtualenv中安装:`pip install -e .` vs`python setup.py install`的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm following a Flask tutorial that has me using virtualenv, and with it I built an app directory tree that looks like this:

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

在我的venv里面,该教程告诉我运行pip install -e .,它似乎正在使用我的setup.py来安装依赖项和应用程序.

Inside my venv the tutorial tells me to run pip install -e . which appears to be using my setup.py to install dependencies and my application.

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

Why does the tutorial have me running pip install -e .? Why not python setup.py install? What are the differences?

(FWIW,export FLASK_APP=app; flask runpip install -e .之后可以正常工作,但在python setup.py install之后不能正常工作)

(FWIW, export FLASK_APP=app; flask run works fine after pip install -e . but doesn't work after a python setup.py install)

推荐答案

首先,您提到的命令并不等效,特别是python setup.py install不能为您提供可编辑的安装. pip <-> python setup.py等效项是:

First, the commands you mention are not equivalent, specifically python setup.py install does not give you an editable installation. The pip <-> python setup.py equivalents are:

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

话虽如此,一般出于以下原因,建议使用pip:

With that said, using pip is in general recommended for a range of reasons:

  • 依赖项会自动安装
  • 有一种简单的卸载方法

对于您而言,我高度怀疑您的软件包具有依赖项,如果您使用pip,则该依赖项会自动安装,而如果您使用python setup.py install则不会.

In your case, I highly suspect that your package has a dependency which is automatically installed if you use pip, but not if you use python setup.py install.

这篇关于在virtualenv中安装:`pip install -e .` vs`python setup.py install`的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆