Install shared objects into site-packages

Li-Wen Hsu lwhsu at FreeBSD.org
Fri Feb 24 11:11:29 UTC 2012


On Mon, Feb 20, 2012 at 11:42, Sean C. Farley <scf at freebsd.org> wrote:
> I am using virtualenv --no-site-packages (the default now) to be able to
> build an environment on both FreeBSD and Linux.  The issue I am running into
> is that _sqlite3.so from databases/py-sqlite3 is being installed into
> site-packages as opposed to lib-dynload.  On the CentOS we are using,
> _sqlite3.so is installed in lib-dynload.
>
> I tried a bit to change the port's setup.py, but I have not been successful.
>  How can databases/py-sqlite3 and other ports that are typically part of
> Python by default be made to install into lib-dynload?
>
> These are the one that lang/python27 disables:
> disabled_module_list = ["_bsddb", "_sqlite3", "_tkinter", "gdbm", "mpz"]

Hi Sean,

After reading databases/py-sqlite3/Makeilfe from NetBSD's pkgsrc, I
have this patch:

    http://people.freebsd.org/~lwhsu/patch/py-sqlite3__lib-dynload.diff

Due to time constraint, I haven't test it with virtualenv, please tell
me if it works.

I think changing the install destination of these built-in modules to
the default position is right direction.  But this patch is not a good
solution, we need to handle PYDISTUTILS_INSTALLARGS better instead of
putting between bsd.port.{pre,post}.mk .  Please tell me if there is a
better way to do this.  Thanks.

Li-Wen

-- 
Li-Wen Hsu
http://lwhsu.org


More information about the freebsd-python mailing list