[Tutor] ImportError: No module named '_sysconfigdata_m'
Steven D'Aprano
steve at pearwood.info
Wed Sep 25 01:44:45 CEST 2013
On Tue, Sep 24, 2013 at 06:20:37AM -0700, Albert-Jan Roskam wrote:
> > If you want to mess with your system 'sudo rm -rf' is definitely the
> > way to go. Don't bother reporting this as a bug since you've
> > *definitely* voided the warranty (that your free software didn't come
> > with).
>
> And the 'f' (force) makes it particularly bad? I guess I learnt something the hard way today.
Yes, and no.
sudo means that you're running the command with root (Admin) privileges.
"sudo" stands for "Super User DO" so you can guess what that means.
rm -rf deletes everything recursively, forcing deletion even if they are
marked as unwritable, without asking for confirmation. So it's not that
its *bad* exactly, just that it will delete everything you tell it to
delete, whether you want it deleted or not.
> > Debian/Ubuntu and other derivatives such as Mint do not use the
> > python.org tarball as it comes out of the box. They apply a whole
> > bunch of system specific patches so that Python fits in with their
> > Debian way of doing things. This may be why you're seeing the error
> > with your un-patched CPython.
>
> Ok, I did not know that. I am surprised that Mint uses Python 3.2
> internally. I thought only Python 2.7 was used.
I would be surprised too.
Normally, when you build from source, you have a pythonX.Y executable,
and a symbolic link "python" that points to the most recently installed
pythonX.Y executable. Than way, just typing "python" on the command line
or in a script will get the most recent version.
That's not usually what you want, since it affects system tools as well.
Some system tool calls "python", expecting one version, and gets a
different version, and breakage happens.
Worse, if you reinstall the same X.Y version from source, it will
overwrite the system version, which is likely to be patched, with an
unpatched version.
[...]
> I just didn't want to have more versions than I actually need. Python
> 3.3 is closer to Python 2.7 than earlier Python 3 versions. I am now
> planning to reinstall Python 3.2 using "sudo apt-get install python3"
My advice is:
- If your distro supports the version of Python you want, install it
using your distro's package management tools.
- If it doesn't, or if you need special built-time options that your
distro doesn't support, then build from source, but make sure you use
the "altinstall" option to avoid changing the "python" symbolic link.
You may even want to install into a directory different from the
default, which allows you to have multiple installations of the same X.Y
version.
--
Steven
More information about the Tutor
mailing list