【问题标题】:Installing dependencies only - setuptools仅安装依赖项 - setuptools
【发布时间】:2014-10-02 07:15:48
【问题描述】:

我有一个 Python 脚本,其中包含多个外部依赖项,我希望将其分发给同事。但是,我们需要定期修改这个脚本,所以我不想安装它本身(即复制到site-packages)。从我所见,setuptools 似乎隐含地做到了这一点。

有没有推荐的方法来安装依赖项而不安装应用程序/脚本本身?

【问题讨论】:

    标签: python pip setuptools easy-install


    【解决方案1】:

    您可能希望确保您和您的同事在开发过程中使用相同的依赖项。

    我想我会尝试为此使用 virtualenv。如果你和你的同事安装它,它会给你一个只用于这个项目的python环境,以及只用于这个项目的依赖项。

    所以步骤是:

    1. 每个人都在他们的计算机上安装 virtualenv,以便他们获得一个隔离环境,仅用于开发此项目。

    2. 你们中的一个人确定了当前的依赖关系并将它们安装在你的 virtualenv 中。

    3. 您可以使用以下命令导出您使用的依赖项列表:

      (在虚拟环境中)pip freeze > requirements.txt

    4. 然后您与其他人共享此文本文件。他们使用这个命令将完全相同的包和版本导入到他们的虚拟环境中:

      (在虚拟环境中)pip install -r requirements.txt

    只要确保每个人在发出这些命令之前都进入了他们的虚拟环境,否则文本文件将包含他们正常的 python 环境安装包。

    【讨论】:

    • 但这仍然需要他们手动安装这些依赖项,不是吗?
    • 是的,但是很简单。您将使用“pip freeze > requirements.txt”命令生成您使用的包的列表,然后为它们提供 requirements.txt 文件。然后他们可以使用这个命令在他们的系统上安装相同的包和版本:“pip install -r requirements.txt”。您可以在某处在线共享 requirements.txt,并确保始终保持最新状态。
    • 这看起来是个不错的策略。可能值得将其放入答案本身。
    【解决方案2】:

    您可以在开发模式下安装该软件包。这样对代码的更改会立即反映,而不是需要重新安装包,这似乎是您正在解决的问题:

    python setup.py develop
    

    文档:https://setuptools.readthedocs.io/en/latest/setuptools.html#development-mode

    【讨论】:

      猜你喜欢
      • 2013-08-30
      • 2012-02-01
      • 2011-01-20
      • 2013-07-19
      • 1970-01-01
      • 2020-12-28
      • 2014-06-28
      • 2010-11-18
      • 2016-05-27
      相关资源
      最近更新 更多