gpt4 book ai didi

python - Distutils 在 Ubuntu 上忽略 build/lib

转载 作者:太空宇宙 更新时间:2023-11-03 18:12:09 25 4
gpt4 key购买 nike

我有一个setup.py构建要安装到 ./build/lib 的文件的脚本目录。这些文件由 run() 填充我的定制方法distutils.command.build.build子类:

from distutils.command.build import build
from distutils.core import setup

class MyBuild(build):
def run(self):
# Populate files to ./build/lib

setup(
# ...
cmdclass=dict(build=MyBuild)
)

现在,根据 this article安装脚本应该复制 ./build/lib 中的所有内容目录到安装目录,这在 OSX 上按预期工作,但在 Ubuntu 14.04 上则不然,它会忽略 ./build/lib目录,而是安装 ./build/lib.<plat> 中找到的文件,这在 OSX 上不起作用,其中 ./build/lib.<plat>目录被忽略。

是否有一致的、独立于平台的方法来使用 distutils 构建和安装文件?这些文件与平台无关。

最佳答案

MyBuild.run()方法,将文件填充到 self.build_lib 中给出的路径而不是硬编码路径。

from distutils.command.build import build
from distutils.core import setup

class MyBuild(build):
def run(self):
build_path = self.build_lib
# Populate files to 'build_path'

setup(
# ...
cmdclass=dict(build=MyBuild)
)

不要更改 self.build_lib 的值在MyBuild.run()因为它是从命令行参数和/或各种默认值生成的。其他几个属性也是如此,例如 build_scripts , build_base , build_purelib

关于python - Distutils 在 Ubuntu 上忽略 build/lib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25720643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com