与x27之间的差异;python setup.py安装';和';pip安装';

与x27之间的差异;python setup.py安装';和';pip安装';,python,virtualenv,pip,setup.py,Python,Virtualenv,Pip,Setup.py,我有一个外部包要从tar文件安装到pythonvirtualenv中。 安装软件包的最佳方式是什么 我发现了两种方法: 提取tar文件,然后在提取的目录中运行python setup.py install pip安装packagename.tar.gz来自中的示例#7 从表面上看,这两种方法都做相同的事情:执行python setup.py install或pip install将为您安装python软件包,而无需太多麻烦 然而,使用pip提供了一些额外的优势,使其更易于使用 pip将自动为您

我有一个外部包要从tar文件安装到pythonvirtualenv中。 安装软件包的最佳方式是什么

我发现了两种方法:

  • 提取tar文件,然后在提取的目录中运行
    python setup.py install
  • pip安装packagename.tar.gz
    来自中的示例#7

  • 从表面上看,这两种方法都做相同的事情:执行
    python setup.py install
    pip install
    将为您安装python软件包,而无需太多麻烦

    然而,使用pip提供了一些额外的优势,使其更易于使用

    • pip将自动为您下载包的所有依赖项。相反,如果使用
      setup.py
      ,则通常需要手动搜索并下载依赖项,这很繁琐,可能会让人沮丧
    • pip跟踪各种元数据,这些元数据允许您通过一个命令轻松卸载和更新软件包:
      pip uninstall
      pip install--upgrade
      。相反,如果使用
      setup.py
      安装软件包,如果要删除软件包,则必须手动删除并维护,这可能会导致错误
    • 您不再需要手动下载文件。如果使用
      setup.py
      ,您必须访问图书馆的网站,找到下载位置,提取文件,运行
      setup.py
      。。。相反,pip将自动搜索(PyPi)以查看包是否存在,并自动下载、提取和安装包。除了少数例外,几乎每一个真正有用的Python库都可以在PyPi上找到
    • pip将允许您使用轮子,这是Python发行版的新标准
    • pip提供了与使用
      virtualenv
      很好地集成的其他好处,该程序允许您在计算机上运行多个需要冲突库和Python版本的项目
    • 从Python2.x系列上的Python2.7.9开始,以及从Python3.x系列上的Python3.4.0开始,默认情况下pip与Python捆绑在一起,使其更易于使用
    所以基本上,使用pip。它只提供了对使用
    python setup.py安装的改进


    如果您使用的是较旧版本的Python,无法升级,并且没有安装pip,您可以通过以下链接找到有关安装pip的更多信息:

    pip本身并不需要教程。90%的情况下,您真正需要的唯一命令是
    pip install
    。也就是说,如果您有兴趣了解有关pip具体操作细节的更多信息,请参阅:

    通常还建议您同时使用pip和virtualenv。如果您是Python的初学者,我个人认为从使用pip开始并在全球范围内安装软件包是不错的,但最终我确实认为您应该在处理更严肃的项目时过渡到使用virtualenv

    如果您想了解有关同时使用pip和virtualenv的更多信息,请参阅:


    python setup.py安装类似于make安装:它是一种编译文件并将文件复制到目标目录的有限方式。这并不意味着这是在系统上真正安装软件的最佳方式

    pip
    是一个软件包管理器,它可以安装、升级、列出和卸载软件包,就像熟悉的软件包管理器一样,包括:
    dpkg、apt、yum、urpmi、ports
    等。在引擎盖下,它将运行
    python setup.py install
    ,但有特定的选项来控制安装方式和位置


    总之:使用
    pip

    问题是关于安装包含python包的本地tarball的首选方法,而不是关于将包上载到PyPi之类的索引服务的优势

    恐怕我知道一些软件分销商并没有将他们的软件包上传到PyPi,而是要求开发人员从他们的网站下载软件包并安装

    python setup.py安装

    这可以工作,但不推荐。无需打开tarball文件并进入其中运行setup.py文件

    pip安装../path/to/packagename.tar.gz

    这是设计和首选的方式。简洁,与PyPi风格的软件包保持一致


    有关
    pip安装的更多信息,请参见此处:

    使用
    pip
    。您可以使用它卸载软件包。“从源代码”如“VCS签出”或“sdist”
    ?什么是“最佳”取决于您的要求!您是否尝试过这两种解决方案中的任何一种,但都以某种方式失败了?或者您在问这些方法之间有什么区别?例如,在fedora上,使用
    yum
    。pip install是否在内部调用setup.py文件?@变量,pip install from“wheels”,预编译包,不,pip从源代码安装:请参阅我的经验中的
    python setup.py install
    也下载和安装依赖项。自从你在2013年写下这个答案以来,这是一个变化吗?@KenWilliams甚至
    python setup.py install
    现在可以下载并安装依赖项了,
    pip install。
    是更好的选择。对于
    setup.py安装,安装时可以选择预发布版本,这在大多数情况下都不是您想要的。看到了吗,我们可以使用pip安装-e吗?