GitHub pytest runner stalling with the following error:
[Errno 2] No such file or directory: '/opt/hostedtoolcache/Python/3.10.8/x64/lib/python3.10/site-packages/deluge/plugins'
This is related to the editable install of Deluge via pip
pip install -e .
and the custom resource_filename in deluge.common is the source of the
problem where a DistInfoDistribution returns a different path to
EggInfoDistribution.
Working egg-info install
>>> pkg_resources.get_distribution('Deluge')
deluge 2.1.1.dev8 (/home/user/deluge)
>>> type(pkg_resources.get_distribution('Deluge'))
<class 'pkg_resources.EggInfoDistribution'>
>>> pkg_resources.resource_filename('deluge', 'plugins')
'/home/user/deluge/deluge/plugins'
This can identified by the `deluge.egg-info` directory in source
directory.
Broken dist-info install
>>> pkg_resources.get_distribution('Deluge')
deluge 2.1.1.dev8 (/opt/hostedtoolcache/Python/3.10.8/x64/lib/python3.10/site-packages)
>>> type(pkg_resources.get_distribution('Deluge'))
<class 'pkg_resources.DistInfoDistribution'>
>>> pkg_resources.resource_filename('deluge', 'plugins')
'/home/user/deluge/deluge/plugins'
This can be worked around by setting an env var that enables legacy mode
but long-term need to replace the custom resource_filename and replace
usage of pkg_resources.
https://setuptools.pypa.io/en/latest/userguide/development_mode.html#legacy-behaviorhttps://setuptools.pypa.io/en/latest/pkg_resources.html