As part of Nexus 3.20,
NEXUS-20705 introduced a change in the stored package path for pypi artifacts to ensure that the remote location was preserved. For example:
Unfortunately, existing packages were not migrated (perhaps due to a lack of existing information) and when an existing package is re-downloaded from the remote there will now be two assets for the same component - the original asset with the old path and a new asset with the updated path.
This causes the browse node rebuilding to fail, and possibly other problems as only a single asset is expected.
1) In Nexus 3.19, create a pypi proxy and download any package (ie. requests)
2) Upgrade Nexus to 3.20
3) Expire the caches on the pypi proxy and redownload the package.
There should now be two assets visible for the package when searching in the UI and the browse nodes task will fail.