gpt4 book ai didi

python - 我可以在 python setup.cfg 中使用通配符吗?

转载 作者:行者123 更新时间:2023-12-01 05:05:05 29 4
gpt4 key购买 nike

我有一个 setup.cfg 配置脚本,其中列出了一堆要安装的本地文件,即如下所示:

[files]
packages = tests
utils

scripts = utils/Communication.ComModule.dll
utils/Communication.DeployerLib.Controls.dll
utils/Communication.DeployerLib.dll
utils/Communication.RModule.Data.dll
utils/Communication.RModule.dll
utils/Communication.Serial.dll
utils/Components.dll
utils/Converters.dll
utils/Data.dll
utils/Log.dll
utils/Log.Log4Net.dll
....

因此,我可以使用通配符来安装每个 dll 文件,而不是列出每个文件吗?这可能吗?我可以使用类似以下内容(安装所有 dll 和所有 exe)吗?

[files]
packages = tests
utils

scripts = utils/*.dll
utils/*.exe

最佳答案

不,目前 scripts 键 ( https://setuptools.pypa.io/en/latest/userguide/declarative_config.html ) 似乎不支持通配符/通配符或类似 find: 指令。因此,我没有看到任何其他选项来列出所有脚本或切换回 setup.py

但是,考虑到您想要发送位于我们的包中的 .dll 文件,以下替代方案之一可能值得考虑:

[options]
packages = utils
zip_safe = False

[options.package_data]
* = *.dll
*.exe

[options]
include_package_data = True
zip_safe = False

(后者需要有一个包含要包含的文件模式的 MANIFEST.in)。请参阅https://setuptools.pypa.io/en/latest/userguide/datafiles.html了解详情。如果您稍后需要从 utils Python 模块中找到以这种方式安装的 .dll,请使用类似

from pathlib import Path
package_path = Path(__file__).parent
dll_name = str(package_path / "Communication.Serial.dll")

或者,对于较新的 Python 版本,请使用 importlib 中的功能。

关于python - 我可以在 python setup.cfg 中使用通配符吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25203732/

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