如何使setuptools(或分发)从本地文件系统安装包

2024-10-01 15:38:56 发布

您现在位置:Python中文网/ 问答频道 /正文

是否可以在setup.py中指定已知驻留在本地文件系统上的(可编辑)源依赖项?在

考虑以下目录结构,它们都位于单个VCS存储库中:

projects
  utils
    setup.py
    ...
  app1
     setup.py
     ... # app1 files depend on ../utils
  app2
     setup.py
     ... # app2 files depend on ../utils

给出以下命令:

^{pr2}$

我希望安装app1的所有依赖项,包括“utils”,它是一个“可编辑”的依赖项。同样的,如果我对app2也这么做的话。在

我尝试过在install_requires和{}中使用file://...URL的所有不同组合,但都没有效果。我想使用一个依赖链接URL,比如src+file://../utils,它会告诉setuptools包的源在文件系统中的这个相对路径上。有办法吗?在


Tags: py目录url编辑onsetuputilsfiles
2条回答

我有一个相同的问题,我需要依赖于一个兄弟文件夹中的模块。在遇到https://caremad.io/2013/07/setup-vs-requirement/之后,我终于找到了解决办法

我最后要求.txt专门引用我想要的文件,然后用

pip install -r requirements.txt

要求.txt

^{pr2}$

以及设置.py拥有我所有的其他依赖项,包括utils。当pip试图安装app1本身时,它意识到utils依赖项已经被填充,因此在安装其他需求时会忽略它。在

当我想处理一组相互关联的项目时,我使用/setup.py develop安装所有这些项目。在

如果我错误地或者以后我想让一个pip安装的模块可编辑,我就克隆源代码,并对其执行python setup.py develop,替换现有的模块。在

为了确定,我删除了virtualenv站点包和包本身的引用。在

相关问题 更多 >

    热门问题