如何从Python中的子模块安装依赖项?

特罗特肯

我有一个具有以下结构的Python项目(为简单起见,省略了不相关的源文件):

myproject/
    mysubmodule/
        setup.py
    setup.py

该文件myproject/setup.py用于distutils.core.setup安装模块myproject和相关源。但是,myproject需要mysubmodule安装(这是一个git子模块)。所以我现在正在做的是:

myproject/$ cd mysubmodule
myproject/mysubmodule/$ python setup.py install
myproject/mysubmodule/$ cd ..
myproject/$ python setup.py install

对于客户而言,这太繁琐了,尤其是如果将来该项目将由其他子模块扩展时。

有没有一种方法可以mysubmodule在调用时自动安装myproject/setup.py

西蒙·维塞尔

创建mysubmodule具有自己的包,setup.py并让顶级包依赖于中的包setup.py这意味着您只需要使软件包/依赖项可用并python setup.py install在顶级软件包上运行即可

然后,问题就变成了如何将依赖项/软件包发送给客户,但是可以通过将它们放在目录中并配置setup.py为在搜索依赖项时包括该目录来解决

替代方法是“供应商” mysubmodule,这意味着将所有内容都包含在一个软件包中(不再询问其他问题),然后python setup.py install安装一个主软件包。例如,pip供应商(包括)requests因此可以使用它而不必依赖该requests软件包。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章