相关疑难解决方法(0)

挂钩添加命令到distutils构建?

我在setup.py脚本中添加了自定义distutils命令:

from distutils.command.build_py import build_py

cmdclass = {}
cmdclass['build_qt'] = BuildQt
cmdclass['build_py'] = build_py

setup(..., cmdclass=cmdclass, ...)
Run Code Online (Sandbox Code Playgroud)

有没有办法让它在运行时::

python setup.py build
Run Code Online (Sandbox Code Playgroud)

这第一次打电话

python setup.py build_qt
Run Code Online (Sandbox Code Playgroud)

自动?

python distutils

12
推荐指数
2
解决办法
3712
查看次数

在 pip install 上运行 Makefile

我有一些协议缓冲区定义需要作为pip install过程的一部分构建到 Python 源代码中。我已经对setuptools.command.install命令进行了子类化,setup.py但我认为它会在安装包后尝试运行 Makefile,因此无法识别源。

我找不到有关 pip 安装期间发生的情况的信息。任何人都可以发光吗?

设置.py:

import subprocess
import sys

from setuptools import setup
from setuptools.command.install import install

class Install(install):
    """Customized setuptools install command - builds protos on install."""
    def run(self):
        protoc_command = ["make", "python"]
        if subprocess.call(protoc_command) != 0:
            sys.exit(-1)
        install.run(self)


setup(
    name='myprotos',
    version='0.0.1',
    description='Protocol Buffers.',
    install_requires=[],
    cmdclass={
        'install': Install,
    }
)
Run Code Online (Sandbox Code Playgroud)

的输出$ pip install -vvv .

Processing /path/to/myprotos
  Running setup.py (path:/private/var/folders/3t/4qwkfyr903d0b7db7by2kj6r0000gn/T/pip-jpgCby-build/setup.py) egg_info for package from file:///path/to/myprotos
    Running command …
Run Code Online (Sandbox Code Playgroud)

python makefile pip

6
推荐指数
1
解决办法
7025
查看次数

构建Python Wheel包时如何指定构建目录?

我正在使用 构建一个简单的轮包python setup.py bdist_wheel

这将首先在目录中构建包./build。我如何自定义该位置?

我认为,对于该setup.py bdist命令似乎有一个参数--bdist-base,但对于 则不然bdist_wheel

python setuptools python-wheel

5
推荐指数
0
解决办法
1479
查看次数

标签 统计

python ×3

distutils ×1

makefile ×1

pip ×1

python-wheel ×1

setuptools ×1