Date: Sun, 16 Feb 2014 13:39:43 +0100 From: Marcus von Appen <mva@FreeBSD.org> To: python@FreeBSD.org, Volodymyr Kostyrko <c.kworr@gmail.com> Cc: Scott Sturdivant <scott.sturdivant@gmail.com>, koobs@FreeBSD.org Subject: Re: HEADS-UP and RFC - Adding setuptools as default RUN_DEPENDS Message-ID: <20140216123943.GA1361@medusa.sysfault.org> In-Reply-To: <52FCD089.8000802@gmail.com> References: <52FC7E4E.4020801@FreeBSD.org> <52FCD089.8000802@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--7AUc2qLy4jB3hD7Z Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On, Thu Feb 13, 2014, Volodymyr Kostyrko wrote: > 13.02.2014 10:11, Kubilay Kocak =D0=BD=D0=B0=D0=BF=D0=B8=D1=81=D0=B0=D0= =B2(=D0=BB=D0=B0): > > Two days ago I updated virtualenv, transitioning it away from the > > deprecated USE_PYDISTUTILS=3Deasy_install to USE_PYDISTUTILS=3Dyes as m= any > > other ports have recently. > > > > I thought nothing of it until the following report by Scott (cc'd): > > > > http://lists.freebsd.org/pipermail/freebsd-python/2014-February/006592.= html > > > > The summary of that thread is: > > > > a) Any python software that uses *console_scripts* needs the > > pkg_resources module from setuptools at run time. This basically means > > anything that installs a CLI utility. > > > > b) Package-only users don't get setuptools installed when they install > > the packages of the above ports, because =3Dyes *doesnt* set a RUN_DEPE= NDS > > on it. > > > > This breaks console script invocation, with the following error: > > > > Traceback (most recent call last): > > File "/usr/local/bin/<script-name>", line 5, in <module> > > from pkg_resources import load_entry_point > > ImportError: No module named pkg_resources > > > > Reproduction steps are: > > > > 1) Install port or package that uses console_scripts > > 2) If you installed the package, run the console script > > 3) If you installed the port > > 3.1) Run the console script > > 3.2) Remove py-setuptools > > 3.3) Run the console script again > > > > Reproduced with: py-virtualenv (`virtualenv`), py-tox (`tox`) and > > py-nose (`nosetests`) > > > > We (python@) have now standardised on a consistent installation pattern > > for all python software, whether pure-distutils or setuptools based, and > > there are run-time requirements that are currently not being satisfied. > > > > Attached is a patch moving RUN_DEPENDS+=3Dsetuptools from the > > =3Deasy_install only case, to the default case. > > > > Patch review requested, other comments welcome. Looks good to me. > > ../koobs > > This effectively means that user should choose between python2 and > python3 and all ports that are not from choosen side will stop to > compile/work? This already is the case for the majority of ports. pkg is slightly more robust with packages not introducing a run dependency, but from the ports framework side is something that works as side effect, not as something provided by design. > Like i need to have www/trac, and some other script needs > databases/py-postgresql. Both require py-setuptools yet trac needs > py27-setuptools and postgresql driver - py33-setuptools. So there would > be no easy way to install both? Unfortunately yes. The problem is within the package management tools at the moment, since those do not support the installation of two different logical packages (py27-setuptools and py33-setuptools in thise case) from the same original source port. This did not work before (as stated above), so design-wise, we are not stepping backwards. =46rom the python@ perspective, we are currently working on a clean package approach to enable support for cases like yours, but no matter how fast we are, we will have to wait for the official package management tools to catch up. Cheers Marcus --7AUc2qLy4jB3hD7Z Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (FreeBSD) iEYEARECAAYFAlMAsY8ACgkQi68/ErJnpkfV1wCfSwkIv/zxQLDsZoH8pH+voauG zToAnRr6dkZhJj5XnfDOJjH6K9z1C7t1 =egoj -----END PGP SIGNATURE----- --7AUc2qLy4jB3hD7Z--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140216123943.GA1361>