riverbed / steelscript

SteelScript is a collection of libraries and scripts in Python for interacting with Riverbed solutions and appliances, and other network infrastructure devices
https://support.riverbed.com/apis/steelscript
Other
14 stars 10 forks source link

Fix setuptools missing dependency (python 3.12) #35

Open gwenblum opened 1 week ago

gwenblum commented 1 week ago

32 (python 3.12 images recently removed setuptools which is required by steelscript container build)

edmorley commented 1 week ago

@gwenblum Hi! Whilst this solution will fix the failures, it's actually not fixing the root cause, which is that the steelscript package isn't correctly declaring it's dependencies. Specifically, the package has a run-time dependency on pkg_resources (part of setuptools) here: https://github.com/riverbed/steelscript/blob/5cf26666fd7025152d4c5a374e11b8258c17dcf8/steelscript/__init__.py#L1

...but doesn't list setuptools in install_requires in setup.py: https://github.com/riverbed/steelscript/blob/5cf26666fd7025152d4c5a374e11b8258c17dcf8/setup.py#L55-L58

If anyone were to install the package directly (and not use the Docker images), the issue would still exist unless install_requires were updated instead.

gwenblum commented 1 week ago

@gwenblum Hi! Whilst this solution will fix the failures, it's actually not fixing the root cause, which is that the steelscript package isn't correctly declaring it's dependencies. Specifically, the package has a run-time dependency on pkg_resources (part of setuptools) here:

https://github.com/riverbed/steelscript/blob/5cf26666fd7025152d4c5a374e11b8258c17dcf8/steelscript/__init__.py#L1

...but doesn't list setuptools in install_requires in setup.py:

https://github.com/riverbed/steelscript/blob/5cf26666fd7025152d4c5a374e11b8258c17dcf8/setup.py#L55-L58

If anyone were to install the package directly (and not use the Docker images), the issue would still exist unless install_requires were updated instead.

Thanks, you are right adding setuptools in the install_requires is much better. Let's fix that.