[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