python3 is in rawhide and I'm hoping to build out the Python 3 stack (help would be most welcome!) I've run into a snag with the plan of building out parallel python 2 and python 3 stacks [1]: What do we do about executables that live in /usr/bin ? For example if we have a 'console_scripts' in a setup.py shared between python 2 and python 3 builds: these will spit out files in /usr/bin/, and these will collide. The immediate example I'm thinking of is python-coverage. This package's setup.py has: entry_points = { 'console_scripts': [ 'coverage = coverage:main', ] }, which thus generates a /usr/bin/coverage executable (this is a python script that runs another python script whilst generating code-coverage information on the latter). Where does the python3 version of this executable go? Similarly for the 'scripts' clause; see e.g. python-pygments: Pygments-1.1.1/setup.py has: scripts = ['pygmentize'], which thus leads to a /usr/bin/pygmentize executable (it's a utility to do syntax-highlighting, so not a language-support feature as such; still, having both py2 and py3 versions available seems worthwhile for transition purposes). One approach is to simply add a "3" or "-3" suffix to these paths. I've already done this for python3-tools; "2to3" became "2to3-3" In the above examples, this would lead to: /usr/bin/coverage-3 /usr/bin/pymentize-3 Or we could use a "python3-" prefix, leading to: /usr/bin/python3-coverage /usr/bin/python3-pymentize Or something involving directories and the PATH environment variable, leading perhaps to: /usr/libexec/python-3.1/coverage /usr/libexec/python-3.1/pygmentize Anyone got any better ideas? Thoughts about which of the above is preferrable? Potentially we could automate the solution in python3-setuptools, so that you don't need to fixup the build by hand in each setup.py. Thoughts? Dave [1] https://fedoraproject.org/wiki/Features/Python3F13 -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel