首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在setup.py中调用另一个setup.py

在setup.py中调用另一个setup.py
EN

Stack Overflow用户
提问于 2016-11-28 01:31:47
回答 1查看 1.9K关注 0票数 7

我的存储库包含我自己的python模块和它的一个依赖项的子模块,该子模块具有自己的setup.py。

我想在安装自己的库时调用依赖项的setupy.py,这是怎么可能的?

我的第一次尝试:

代码语言:javascript
复制
 $ tree
.
├── dependency
│   └── setup.py
└── mylib
    └── setup.py


 $ cat mylib/setup.py 
from setuptools import setup

setup(
    name='mylib',
    install_requires= ["../dependency"]
    # ...
)

$ cd mylib && python setup.py install
error in arbalet_core setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers; Invalid requirement, parse error at "'../depen'"

但是,install_requires不接受路径。

我的第二个尝试是在install_requires=["dependency"]中使用dependency_links=["../dependency"],但是在Pypi中已经存在相同名称的依赖项,所以setuptools尝试使用该版本而不是我的版本。

最正确/最干净的方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2017-08-10 05:15:38

一种可能的解决方案是在安装过程之前/之后运行一个自定义命令。

举个例子:

代码语言:javascript
复制
from setuptools import setup
from setuptools.command.install import install

import subprocess

class InstallLocalPackage(install):
    def run(self):
        install.run(self)
        subprocess.call(
            "python path_to/local_pkg/setup.py install", shell=True
        )

setup(
    ...,
    cmdclass={ 'install': InstallLocalPackage }
)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40831794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档