【发布时间】:2014-10-02 07:15:48
【问题描述】:
我有一个 Python 脚本,其中包含多个外部依赖项,我希望将其分发给同事。但是,我们需要定期修改这个脚本,所以我不想安装它本身(即复制到site-packages)。从我所见,setuptools 似乎隐含地做到了这一点。
有没有推荐的方法来安装依赖项而不安装应用程序/脚本本身?
【问题讨论】:
标签: python pip setuptools easy-install
我有一个 Python 脚本,其中包含多个外部依赖项,我希望将其分发给同事。但是,我们需要定期修改这个脚本,所以我不想安装它本身(即复制到site-packages)。从我所见,setuptools 似乎隐含地做到了这一点。
有没有推荐的方法来安装依赖项而不安装应用程序/脚本本身?
【问题讨论】:
标签: python pip setuptools easy-install
您可能希望确保您和您的同事在开发过程中使用相同的依赖项。
我想我会尝试为此使用 virtualenv。如果你和你的同事安装它,它会给你一个只用于这个项目的python环境,以及只用于这个项目的依赖项。
所以步骤是:
每个人都在他们的计算机上安装 virtualenv,以便他们获得一个隔离环境,仅用于开发此项目。
你们中的一个人确定了当前的依赖关系并将它们安装在你的 virtualenv 中。
您可以使用以下命令导出您使用的依赖项列表:
(在虚拟环境中)pip freeze > requirements.txt
然后您与其他人共享此文本文件。他们使用这个命令将完全相同的包和版本导入到他们的虚拟环境中:
(在虚拟环境中)pip install -r requirements.txt
只要确保每个人在发出这些命令之前都进入了他们的虚拟环境,否则文本文件将包含他们正常的 python 环境安装包。
【讨论】:
您可以在开发模式下安装该软件包。这样对代码的更改会立即反映,而不是需要重新安装包,这似乎是您正在解决的问题:
python setup.py develop
文档:https://setuptools.readthedocs.io/en/latest/setuptools.html#development-mode
【讨论】: