i found the sha256 of python3.7 is the same as the python3.7m. so do you know What’s the difference between python3.7 and python3.7m.
[root@localhost bin]# sha256sum python3.7
7f72a2379b87f31188077edb7674f79101ab8661e047ef6ee80476187e382a9f python3.7
[root@localhost bin]# sha256sum python3.7m
7f72a2379b87f31188077edb7674f79101ab8661e047ef6ee80476187e382a9f python3.7m
If the sha256 check sums are the same, the files are the same.
Python executables with the “m” suffix are using the PyMalloc memory allocator. Chances are that your python3.7 is a hardlink to the python3.7m file; if not, it is a copy of it.
python, python-3.x
vbrozik
(Václav Brožík)
June 29, 2022, 11:53am
3
It looks like that since at least Python 3.8:
pymalloc
is complied in by default
usage of pymalloc
vs malloc
can be changed at runtime
the choice does not make any difference in the ABI
So in the current versions there is normally no more need to make two distinct versions of the python
binary.
opened 12:27AM - 24 Apr 19 UTC
closed 09:36AM - 15 Jun 19 UTC
build
3.8
deferred-blocker
BPO | [36707](https://bugs.python.org/issue36707)
--- | :---
Nosy | @vstinner, @… ned-deily, @serhiy-storchaka, @koobs, @hroncok, @miss-islington
PRs | <li>python/cpython#12931</li><li>python/cpython#14090</li><li>python/cpython#14097</li>
<sup>*Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.*</sup>
<details><summary>Show more details</summary><p>
GitHub fields:
```python
assignee = 'https://github.com/vstinner'
closed_at = <Date 2019-06-15.09:36:07.714>
created_at = <Date 2019-04-24.00:27:25.531>
labels = ['deferred-blocker', 'build', '3.8']
title = 'The "m" ABI flag of SOABI for pymalloc is no longer needed'
updated_at = <Date 2019-06-15.09:39:47.645>
user = 'https://github.com/vstinner'
```
bugs.python.org fields:
```python
activity = <Date 2019-06-15.09:39:47.645>
actor = 'vstinner'
assignee = 'vstinner'
closed = True
closed_date = <Date 2019-06-15.09:36:07.714>
closer = 'vstinner'
components = ['Build']
creation = <Date 2019-04-24.00:27:25.531>
creator = 'vstinner'
dependencies = []
files = []
hgrepos = []
issue_num = 36707
keywords = ['patch']
message_count = 21.0
messages = ['340748', '340749', '340757', '340766', '340773', '341097', '341099', '341100', '341121', '341835', '344478', '344483', '344484', '344521', '344524', '344526', '344528', '345650', '345651', '345666', '345667']
nosy_count = 6.0
nosy_names = ['vstinner', 'ned.deily', 'serhiy.storchaka', 'koobs', 'hroncok', 'miss-islington']
pr_nums = ['12931', '14090', '14097']
priority = 'deferred blocker'
resolution = 'fixed'
stage = 'resolved'
status = 'closed'
superseder = None
type = None
url = 'https://bugs.python.org/issue36707'
versions = ['Python 3.8']
```
</p></details>
Python 3.7 will be end of life in one year so it is best to start using newer versions.