Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 2 days ago.
Improve this question
In Ubuntu and Debian I currently see python3.10-nopie and python3.11-nopie packages. The description says:
This package contains the interpreter not built as position
independent executable. This interpreter is diverting the python3.11
executable, and making the interpreter built with PIE available as
python3.11-pie.
I know PIE is Position Independent Executable, it is mainly a security measure. I'm wondering, why suddenly there are NOPIE Python 3.10 and 3.11 packages. Are the NOPIE versions faster? Or what could be the reason?
Edit: Found and old article from 2012, where they see about 10% slowdown in PIE SPEC CPU2006 benchmark on x86. That's mainly due to the register pressure. On amd64 they see only 2% slowdown.
Edit 2: When I install the NOPIE packages, I can see that the PIE version is slightly larger. That's on Ubuntu Jammy arm64
$ ls -l /usr/bin/python3.1*
-rwxr-xr-x 1 root root 5299528 Nov 14 17:10 /usr/bin/python3.10
-rwxr-xr-x 1 root root 5671928 Nov 14 17:10 /usr/bin/python3.10-pie
-rwxr-xr-x 1 root root 6570216 Aug 12 2022 /usr/bin/python3.11
-rwxr-xr-x 1 root root 6586600 Aug 12 2022 /usr/bin/python3.11-pie
Related
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 1 year ago.
Improve this question
This is the repo and on searching for the python versions available (searching page for "python-3.6.") I noticed that 3.6.0 was not available. Python 3.6.2 upwards was available.
What difference would it actually make if I'm running an old code that specifically mentions compatibility with just 2.7.12 and 3.6. ?
The three groups of numbers in a Python version are "major", "minor", and "micro":
new major versions are exceptional; they only come when strongly incompatible changes are deemed necessary, and are planned very long in advance;
new minor versions are feature releases; they get released annually, from the current in-development branch;
new micro versions are bugfix releases; they get released roughly every 2 months; they are prepared in maintenance branches.
Micro versions don't introduce features or break backwards compatibility. Anything that runs on, for instance, 3.6.1 should run just as well on 3.6.2, and so on. (The exception would be code that accidentally relies on a bug, but that's pretty rare.)
Generally speaking, you should use the newest micro version available.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 2 years ago.
Improve this question
For example running macOS Catalina v10.15, I have /usr/bin/python giving Python 2.7.16 and /usr/bin/python3 giving Python 3.7.3.
With macOS Big Sur v11.0, has Apple finally dropped Python 2 and made Python 3 the default?
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 3 years ago.
Improve this question
What exactly is the meaning of this warning:
DEPRECATION WARNING: Python 2.7 will reach the end of its life on January 1st, 2020.
See PEP 373:
Being the last of the 2.x series, 2.7 will have an extended period of maintenance. Specifically, 2.7 will receive bugfix support until January 1, 2020. After the last release, 2.7 will receive no support.
Planned future release dates:
2.7.17 mid 2019
2.7.18 January 2020
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I'm new to programming as well as Linux. Will using Python 2.7.6 as opposed to the latest version affect
my learning?
*nix distributions use Python for many of their core system utilities, and as a result, they are a bit conservative on moving to new versions, especially major non-backward-compatible versions like Python 3. You should have a Python 3 interpreter available on Ubuntu though, you just have to run python3 from the terminal instead of just python. That said, for introductory programming, differences between 2 and 3 are negligible (to say nothing of differences between minor versions), so you should be fine with whatever interpreter you have access to.
Python 3 has improvements that are not compatible with Python 2, so Python 2 is still needed for a lot of software that hasn't been upgraded.
You can install Python 3 alongside Python 2.
For someone who's just learning, it makes sense to use Python 3 unless you're in a class or company that's using Python 2. The improvements are worthwhile and easier to work with. It's not difficult to apply knowledge of one to the other, but better to focus on one of them while learning.
Both python (Python 2) and python3 (Python 3) are installed on Ubuntu 14.04 by default. For both Ubuntu and Debian, we have ongoing project goals to make Python 3 the default, preferred Python version in the distros.
There are many scripts that were written for Python 2 that expect that python refers to Python 2 interpreter. Run python3 to get Python 3 interpreter.
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 9 years ago.
Improve this question
I have a working Python ecosystem on Ubuntu.
Now I want to try Enthought Canopy. Will that installation mess up or interfere somehow with my current system?
Two examples to illustrate my confusion:
will this installation overwrite libraries in my current setup?
which python will start if I invoke ipython in a terminal?
No it wont:
http://docs.enthought.com/canopy/quick-start/install_linux.html
If the check box for making Canopy your default Python environment is checked the following line will be added your .bash_profile or .profile files:
source ~/Enthought/Canopy_32bit/User/bin/activate
But you can always uncheck the box.