[opensuse-factory] proposed changes to the python3 package
Fellow Python users, I'm planning some changes to how Python 3 is packaged and installed. While the changes themselves are minor, they could have potentially far-reaching consequences, so I want to collect your input first. Firstly, in a move that should make you happy ;) I intend to move the ssl module from python3 to python3-base. This might solve some build-time headaches and will make python3-base useful again. Second, I want to use Recommends to make the default installation of Python 3 pull in the whole standard library. This will mean: - python3-base will Recommend python3 - python3 will Recommend its subpackages. They are now only Suggested. Third, I would like to unbundle setuptools and pip, which are now bundled because of the ensurepip module. It is a bit tricky to do this properly and not break things, so the proposed solution is as follows: - a new subpackage python3-ensurepip will be created. python3 will Recommend python3-ensurepip. (So far it seemed that we can't do a hard require because of build loops with pip and setuptools. This might turn out to be a problem. More input on this point is welcome.) - python3-ensurepip will Require the presence of something along the lines of /usr/share/python-wheels/pip-py3-none-any.whl, similar for setuptools. These files will be provided by python3-pip and python3-setuptools, and built at the same time as the regular installed files. In the end, the python3 rpm itself will only contain sqlite3, xml-related things (xml, xmlrpc, pyexpat) and readline. I am going to wait for your comments for about a week or two, and unless there are good arguments against, start implementing the changes then. I will send a heads-up e-mail when that happens. At this time there are no plans to do the same for Python 2. As it is now pretty much in maintenance mode, I don't intend to do any significant changes to it. regards m.
heads up, I have just submitted the first set of proposed changes to Factory. specifically: - python3-base now includes _ssl and _hashlib and is thus very suitable as a build requirement - python3-base now Recommends: python3 - python3 Recommends: python3-curses python3-dbm python3-idle python3-tk meaning that, when installed manually with recommends, you will get the full python3 stdlib in almost all cases. regards m. On 9.3.2016 19:40, jan matejek wrote:
Fellow Python users,
I'm planning some changes to how Python 3 is packaged and installed. While the changes themselves are minor, they could have potentially far-reaching consequences, so I want to collect your input first.
Firstly, in a move that should make you happy ;) I intend to move the ssl module from python3 to python3-base. This might solve some build-time headaches and will make python3-base useful again.
Second, I want to use Recommends to make the default installation of Python 3 pull in the whole standard library. This will mean: - python3-base will Recommend python3 - python3 will Recommend its subpackages. They are now only Suggested.
Third, I would like to unbundle setuptools and pip, which are now bundled because of the ensurepip module. It is a bit tricky to do this properly and not break things, so the proposed solution is as follows: - a new subpackage python3-ensurepip will be created. python3 will Recommend python3-ensurepip. (So far it seemed that we can't do a hard require because of build loops with pip and setuptools. This might turn out to be a problem. More input on this point is welcome.) - python3-ensurepip will Require the presence of something along the lines of /usr/share/python-wheels/pip-py3-none-any.whl, similar for setuptools. These files will be provided by python3-pip and python3-setuptools, and built at the same time as the regular installed files.
In the end, the python3 rpm itself will only contain sqlite3, xml-related things (xml, xmlrpc, pyexpat) and readline.
I am going to wait for your comments for about a week or two, and unless there are good arguments against, start implementing the changes then. I will send a heads-up e-mail when that happens.
At this time there are no plans to do the same for Python 2. As it is now pretty much in maintenance mode, I don't intend to do any significant changes to it.
regards m.
participants (1)
-
jan matejek