Closed pitpalme closed 4 months ago
You will need to develop on python 3.10 anytime you are using dependencies that have native code.
We can't change this, but can improve documentation.
We've added documentation around this topic: https://dynatrace-extensions.github.io/dt-extensions-python-sdk/guides/building.html
Describe the bug
dt-sdk build
packs platform specific wheel as dependency, which leads to deployment error.Having, for example,
requests
as dependency insetup.py
makedt-sdk build
download and packcharset_normalizer-3.3.2-cp311-cp311-win_amd64.whl
intoextension\lib\
.When deployed this leads to deployment error, because runtime linux python 3.10 does not accept
cp311
andwin_amd64
as satisfying qualifiers and therefore cannot install dependency from "shipped with" wheel.To Reproduce Steps to reproduce the behavior:
setup.py
requests
toinstall_requires
listdt-sdk build
Expected behavior SDK packaging should not package platform specific wheels into extension archive, nor should wheels be accepted, that satisfy only one specific python version. If SDK requirement is ">= 3.10", it should be acceptable to use 3.11 or 3.12 to develop and package extension, producing an extension archive, that can be deployed to and run on >= 3.10 runtime (given, the python code is 3.10 compatible).
Desktop (please complete the following information):