[Bug 1250877] Re: Python3 modules are not installed in the right path
Shu Hung (Koala)
koalay at gmail.com
Thu Dec 29 04:36:46 UTC 2016
>From *Deviations_from_upstream* in Debina's Python wiki page
https://wiki.debian.org/Python#Deviations_from_upstream
-----------
* dist-packages instead of site-packages. Third party Python software
installed from Debian packages goes into dist-packages, not site-
packages. This is to reduce conflict between the system Python, and any
from-source Python build you might install manually.
-----------
A more detailed discussion on the same issue can be found here in Debian's bug tracker:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=765022#30
That says Debian deliberately treat .deb python packages and manually
installed python modules differently. They changed the stock Debian
Pythons' module path from `site-packages` to `dist-packages`. So the
stock Python uses modules only from DEB sources (installs to `dist-
packages`) and not from easy_install or otherwise compiled (installs to
`site-packages`).
Automake either doesn't care or horner the management ideal. They only
support you to install your python library into `site-packages` so it
doesn't overwrite the packages you installed with .deb.
If Automake provide config directive to override `pyexecdir` and
`pythondir`, it would be a much better tool for system package
developers (e.g. Python based ibus engine developer) for proper testing.
I found no such option yet.
** Bug watch added: Debian Bug tracker #765022
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=765022
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to automake in Ubuntu.
https://bugs.launchpad.net/bugs/1250877
Title:
Python3 modules are not installed in the right path
Status in automake package in Ubuntu:
Confirmed
Bug description:
[Note: this might be a bug in autoconf rather than automake, I'm not
entirely sure]
On Ubuntu (and I think also on Debian), Python3 modules are installed
in /usr/lib/python3/dist-packages
However, that's different from the upstream path, which is
/usr/lib/python3.3/site-packages
Python3 modules building with the Autotools will get installed in the
upstream-preferred path, and as a result, Python3 won't find them.
Here is a way to reproduce it:
1. First, install libcangjie from Git:
git clone git://github.com/Cangjians/libcangjie
cd libcangjie
./autogen.sh --prefix=/usr && make && sudo make install
2. Now, install pycangjie:
git clone git://github.com/Cangjians/pycangjie
cd pycangjie
./autogen.sh --prefix=/usr && make && sudo make install
(you might need to install some dependencies, like libsqlite3-dev,
python3-de and cython)
Now, observe how the module was installed in /usr/lib/python3.3/site-
packages/cangjie, where Python3 won't find it.
This installation path is not hardcoded in the pycangjie build
process, it is **automatically discovered by the autotools**.
If Ubuntu (or is it Debian?) decides to change where Python3 modules
are installed, then shouldn't it also try to ensure that they actually
get installed there?
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/automake/+bug/1250877/+subscriptions
More information about the foundations-bugs
mailing list