Python 3.8.7 is the seventh maintenance release of Python 3.8. Go get it here:
Note: this is a bugfix release for the 3.8 series which was superseded by Python 3.9, currently the latest feature release series of Python 3. You can find the latest release of 3.9.x here <https://www.python.org/downloads/>.
Maintenance releases for the 3.8 series will continue at regular bi-monthly intervals, with 3.8.8 planned for February 2021.
macOS 11 Big Sur not fully supported
Python 3.8.7 is not yet fully supported on macOS 11 Big Sur. It will install on macOS 11 Big Sur and will run on Apple Silicon Macs using Rosetta 2 translation. However, a few features do not work correctly, most noticeably those involving searching for system libraries (vs user libraries) such as ctypes.util.find_library() and in Distutils. This limitation affects both Apple Silicon and Intel processors. We are looking into improving the situation for Python 3.8.8.
Python 3.9.1 <https://www.python.org/downloads/release/python-391/> provides full support for Big Sur and Apple Silicon Macs, including building natively on Apple Silicon Macs and support for universal2 binaries.
The Python 3.8 series contains many new features and optimizations over 3.7. See the “What’s New in Python 3.8 <https://docs.python.org/3.8/whatsnew/3.8.html>” document for more information about features included in the 3.8 series.
Detailed information about all changes made in version 3.8.7 specifically can be found in its change log <https://docs.python.org/release/3.8.7/whatsnew/changelog.html#python-3-8-7>. Note that compared to 3.8.6 this release also contains all changes present in 3.8.7rc1.
We hope you enjoy Python 3.8!
Thanks to all of the many volunteers who help make Python Development and these releases possible! Please consider supporting our efforts by volunteering yourself or through organization contributions to the Python Software Foundation.
Your friendly release team,
Ned Deily @nad <https://discuss.python.org/u/nad>
Steve Dower @steve.dower <https://discuss.python.org/u/steve.dower>
Łukasz Langa @ambv <https://discuss.python.org/u/ambv>
The year is almost over and plenty of internet services are generating the
“2020 in review” summary so I hope everyone is in the mood
for some extra summary plots. I have generated some “CPython lifetime in
review” plots that I hope you enjoy.
You can check them out here:
Regards from cloudy London,
Pablo Galindo Salgado
i am new to jupyterhub and i am trying to setup
1. add multiple python kernel(2.7.x,3.6.x,3.7.x) to jupyterhub
2. setup user specific kernel - means i have 3 kernels PY3, Pyspark and R.
how can i assign this 3 PY3, Pyspark and R kernels to User1, User2 and
User3 respectively on Jupyterhub.
my default python version is 3.6.8 which is installed from python
sourcefile, and i am able to run jupyterhub with python3.
Python path: /share/apps/platform/ai/py36/3_6_8/bin/python3
But now i am trying to add Python 2.7.16
Python path: /share/apps/platform/ai/py27/2_7_16/bin/python
*# jupyter-kernelspec listAvailable kernels:ir
Please guide me to add multiple python kernels and also how to setup user
specific kernels in Jupyterhub.
A recent technical note from Microsoft describes a new reference counting algorithm, Perceus. It seemed worth posting here in case there are any thoughts about whether it might be useful for Python. I couldn't find any existing references to it in this list.
We introduce Perceus, an algorithm for precise reference counting with reuse and specialization. Starting from a func- tional core language with explicit control-flow, Perceus emits precise reference counting instructions such that programs are garbage free, where only live references are retained. This enables further optimizations, like reuse analysis that allows for guaranteed in-place updates at runtime. This in turn enables a novel programming paradigm that we call functional but in-place (FBIP). Much like tail-call optimiza- tion enables writing loops with regular function calls, reuse analysis enables writing in-place mutating algorithms in a purely functional way. We give a novel formalization of ref- erence counting in a linear resource calculus, and prove that Perceus is sound and garbage free. We show evidence that Perceus, as implemented in Koka, has good performance and is competitive with other state-of-the-art memory collectors.
I hope this is the correct place to ask this question. I have a desire to
participate in python development in a particular area from my Windows host
machine, but I am not finding any concise listing of the tool setup needed
to fully participate, nor any detailed guidance on how to proceed when
underlying code debugging is necessary.
I do know that some version of the MS VS20xx suite is necessary to begin.
My initial attempts using the VS2019 Community Edition have been less than
successful when it comes to debugging an underlying C library component when
the starting program is python because I have not figured out how to use the
VS2019 environment to do that.
So I would appreciate any RTFM / URL that can guide me in starting to
participate, especially for guidance on debugging procedures for underlying
C components when the initial program is a python script.
I have read most of the "Python Developers Guide" material, but there is not
any Window-specific tooling information that I have seen there yet. What
other tooling do I need besides a VS20xx environment?
I do have good experience in C programming, but not much in using VS20xx
TIA for your gentle guidance in curing my ignorance.
On behalf of the PyPA and the pip team, I am pleased to announce that we have just released pip 20.3, a new version of pip. You can install it by running `python -m pip install --upgrade pip`.
This is an important and disruptive release -- we [explained why in a blog post last year](https://pyfound.blogspot.com/2019/12/moss-czi-support-pip.html). We
even made [a video about it](https://www.youtube.com/watch?v=B4GQCBBsuNU).
* **DISRUPTION**: Switch to the new dependency resolver by default. (#9019) Watch out for changes in handling editable
installs, constraints files, and more:
* **DEPRECATION**: Deprecate support for Python 3.5 (to be removed in pip 21.0) (#8181)
* **DEPRECATION**: pip freeze will stop filtering the pip, setuptools, distribute and wheel packages from pip freeze output in a future version. To keep the previous behavior, users should use the new `--exclude` option. (#4256)
* Substantial improvements in new resolver for performance, output and
error messages, avoiding infinite loops, and support for constraints files.
* Support for PEP 600: Future ‘manylinux’ Platform Tags for Portable
Linux Built Distributions. (#9077)
* Documentation improvements: Resolver migration guide, quickstart
guide, and new documentation theme.
* Add support for MacOS Big Sur compatibility tags. (#9138)
The new resolver is now *on by default*. It is significantly stricter
and more consistent when it receives incompatible instructions, and
reduces support for certain kinds of constraints files, so some
workarounds and workflows may break. Please see [our guide on how to
test and migrate, and how to report issues](https://pip.pypa.io/en/latest/user_guide/#changes-to-the-pip-dependency-resolver-in-20-3-2020). You
can use the deprecated (old) resolver, using the flag
`--use-deprecated=legacy-resolver`, until we remove it in the pip 21.0
release in January 2021.
You can find more details (including deprecations and removals) [in the
## User experience
Command-line output for this version of pip, and documentation to help
with errors, is significantly better, because you worked with our
experts to test and improve it. [Contribute to our user experience work: sign up to become a member of the UX Studies group](https://bit.ly/pip-ux-studies) (after you join, we'll notify you about future UX surveys and interviews).
## What to expect in 20.1
We aim to release pip 20.1 in January 2021, per our [usual release cadence](https://pip.pypa.io/en/latest/development/release-process/#release-cadence). You can expect:
* Removal of [Python 2.7](https://pip.pypa.io/en/latest/development/release-process/#python-2-support) and 3.5 support
* Further improvements in the new resolver
* Removal of legacy resolver support
As with all pip releases, a significant amount of the work was
contributed by pip's user community. Huge thanks to all who have
contributed, whether through code, documentation, issue reports and/or
discussion. Your help keeps pip improving, and is hugely appreciated.
Specific thanks go to Mozilla (through its [Mozilla Open Source
Support](https://www.mozilla.org/en-US/moss/) Awards) and to the [Chan
Zuckerberg Initiative](https://chanzuckerberg.com/eoss/) DAF, an
advised fund of Silicon Valley Community Foundation, for their funding
that enabled substantial work on the new resolver.
That funding went to [Simply Secure](https://simplysecure.org/)
(specifically Georgia Bullen, Bernard Tyers, Nicole Harris, Ngọc
Triệu, and Karissa McKelvey), [Changeset
Consulting](https://changeset.nyc/) (Sumana Harihareswara),
[Atos](https://www.atos.net) (Paul F. Moore), [Tzu-ping
Chung](https://uranusjr.com), [Pradyun Gedam](https://pradyunsg.me/),
and Ilan Schnell. Thanks also to Ernest W. Durbin III at the Python
Software Foundation for liaising with the project.
-Sumana Harihareswara, pip project manager
After much deliberation, the 2020 SC will be making a recommendation to the
2021 SC to accept PEP 634 (although this was not a unanimous decision).
This is in no way a binding recommendation to the 2021 SC (even if a
majority of current council members get re-elected), but we felt we should
pass on our thoughts to the next council as we have been discussing pattern
matching for a few months at this point and we promised we would make some
decision to the PEP authors.