Install shared objects into site-packages
Sean C. Farley
scf at FreeBSD.org
Wed Mar 7 16:03:03 UTC 2012
On Fri, 24 Feb 2012, Li-Wen Hsu wrote:
> 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.
It works. Thank you!
I do not know a better way to do it. I tried a few things with
files/setup.py to get it to install within lib-dynload but was
unsuccessful. If an environment variable would take care of the
install-lib option, then maybe putting something into MAKE_ENV?
Sean
--
scf at FreeBSD.org
More information about the freebsd-python
mailing list