Python: move python-modules/generic to interpreter folder
This commit is contained in:
30
pkgs/development/interpreters/python/catch_conflicts.py
Normal file
30
pkgs/development/interpreters/python/catch_conflicts.py
Normal file
@@ -0,0 +1,30 @@
|
||||
import pkg_resources
|
||||
import collections
|
||||
import sys
|
||||
|
||||
do_abort = False
|
||||
packages = collections.defaultdict(list)
|
||||
|
||||
for f in sys.path:
|
||||
for req in pkg_resources.find_distributions(f):
|
||||
if req not in packages[req.project_name]:
|
||||
# some exceptions inside buildPythonPackage
|
||||
if req.project_name in ['setuptools', 'pip', 'wheel']:
|
||||
continue
|
||||
packages[req.project_name].append(req)
|
||||
|
||||
|
||||
for name, duplicates in packages.items():
|
||||
if len(duplicates) > 1:
|
||||
do_abort = True
|
||||
print("Found duplicated packages in closure for dependency '{}': ".format(name))
|
||||
for dup in duplicates:
|
||||
print(" " + repr(dup))
|
||||
|
||||
if do_abort:
|
||||
print("")
|
||||
print(
|
||||
'Package duplicates found in closure, see above. Usually this '
|
||||
'happens if two packages depend on different version '
|
||||
'of the same dependency.')
|
||||
sys.exit(1)
|
||||
Reference in New Issue
Block a user