Sunday, March 31, 2019

Re: pip install (python3) requires some development libraries

> You are bypassing [OpenBSD] packages by using pip

True, but it's not "me" so much as the open source moinmoin wiki project.
I think, perhaps, on purpose, because it's a pure-Python release that uses
`virtualenv` (and `tox`, for devs) to maximize portability (it runs on all Unix
and Windows).


> so package manager is irrelevant
> here. I think it is a bad choice to do this though because if libldap or
> or some other libraries on the system are updated, your local installation
> of py-ldap may break.
>
> Anyway, if you need to do this, OpenBSD compilers intentionally do not
> include /usr/local/lib / /usr/local/include in the default lib/header
> search path - you need to pass them via LDFLAGS/CPPFLAGS or another
> method. This is normal for building anything using libraries from
> packages.

Grok.


> The easiest way: update to OpenBSD -current where there is a newer
> version of py-ldap / py3-ldap in packages (we had to patch dependent
> ports to cope with API changes in py-ldap).

I tried installing `py-ldap` (and a bunch of other dependent packages) at
first, but saw that the moinmoin installer was `pip` installing all the packages
again inside the virtualenv, but see below...


> General recommendation even if you are installing python things from
> outside packages, is to use packages for any compiled extensions. Here's
> a nice example of the approach, using virtualenv to install netbox.
> https://blog.jasper.la/setting-up-netbox-on-openbsd.html

Ah ha, thanks for the link! The "--system-site-packages" parameter should
sidestep the need to `pip install` that which is better installed via OpenBSD
packages. Now I just need to get the moinmoin wiki devs to consider using
it, which may be tricky, due to the cross-platform nature of the project.


> If you need things which aren't already in packages (or are too old)
> then write a port or update (and test existing dependent ports) and send
> it to ports@.

Will do.


Thanks,
Kent

No comments:

Post a Comment