Date: Mon, 29 Jul 2013 12:26:24 +0200 From: Marcus von Appen <mva@freebsd.org> To: David Demelier <demelier.david@gmail.com> Cc: ports@freebsd.org Subject: Re: python 2 and 3 modules Message-ID: <20130729122624.Horde.SUzy4e5lddiAJOw5KSFogg6@webmail.df.eu> In-Reply-To: <CAO%2BPfDfYVzjiH8Q=TB8RWg09unA37Mnwb3FACXWL60bjnZm_iA@mail.gmail.com> References: <E1V3QJs-000JpR-FR@kabab.cs.huji.ac.il> <CAO%2BPfDcARya67Kd%2BhOEfDGNzLA4zp%2B8d1JYJhsYShQx=kXVijA@mail.gmail.com> <20130729110145.Horde.vaUlaCnJ-q1VD1He43pO6Q8@webmail.df.eu> <CAO%2BPfDfYVzjiH8Q=TB8RWg09unA37Mnwb3FACXWL60bjnZm_iA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
David Demelier <demelier.david@gmail.com>: > 2013/7/29 Marcus von Appen <mva@freebsd.org>: >> David Demelier <demelier.david@gmail.com>: >> >> >>> 2013/7/28 Daniel Braniss <danny@cs.huji.ac.il>: >>>> >>>> Hi, >>>> I need to be able to have both (2.7 and 3.2) modules. >>>> setting PYTHON_VERSION=3.2 in /etc/make.conf compiles properly, >>>> but make install, insists that that the 2.7 version is installed! >>>> after deinstalling, it will install the 3.2 version in the correct >>>> directory: >>>> /usr/local/lib/python3.2/site-path >>>> but now I lost the 2.7 version. >>>> >>>> the same happens if I try to install the 2.7 version, it will complain >>>> that the 3,2 version is installed. >>>> >>>> BTW, the comments in ports/Mk/bsd.python.mk are very confusing and >>>> some are wrong: >>>> # PYTHON_VERSION - Version of the python binary in your ${PATH}, >>>> in the >>>> # format "python2.0". Set this in >>>> your >>>> makefile in case you >>>> # want to build extensions with >>>> an >>>> older binary. >>>> # default: depends on the version >>>> of >>>> your python binary >>>> >>>> setting it to "python3.2" produces errors in the make, while 3.2 is ok >>>> >>>> is there any fix? >>>> >>>> thanks, >>>> danny >>>> >>> >>> For the moment its pretty difficult to install python 2.7 and 3.3 at >>> the same time. However, if you plan to install python 3.3, you need to >>> set PYTHON_DEFAULT_VERSION to "python3.3" and not PYTHON_VERSION. >> >> >> No, it is not. >> >> cd /usr/ports/lang/python27 && make install clean >> cd /usr/ports/lang/python32 && make install clean >> cd /usr/ports/lang/python33 && make install clean >> >> works like a charm. If you however want to use Python modules, it might >> become >> more difficult. It was discussed some time ago on the freebsd-python mailing >> list >> without an applicable result. >> >> If you need to have the same Python module for different versions around, I >> would >> recommend to use virtualenv in favour of the ports infrastructure, since >> >> make -DPYTHON_DEFAULT_VERSION=xxx <python-module> - or - >> make -DPYTHON_VERSION=xxx <python-module> - or - >> make -DPYTHON3_DEFAULT_VERSION=xxx <python-module> >> >> might mess up previous installations for a different python version. >> >> Cheers >> Marcus >> > > Of course from ports it will work. I've told about binary packages. > > When you bulk build a package for python 2.7 and python 3.3 the > /usr/local/bin/python will be included in both versions. Because bulk > building python 3 modules will requires to set PYTHON_DEFAULT_VERSION > and PYTHON3_DEFAULT_VERSION to the python 3.3 interpreter. > > Then the poudriere bulk will generate python 2.7 and python 3.3 > pkg-plist including for both /usr/local/bin/python and all of the > non-versioned files I've already told above. > > You may now think "who cares? it build from ports". I would say no, > binary packages will be used more and more in the future. I would not, either. This however is a problem with the package builder and ports infrastructure, which would need some install hooks to allow a check at installation time. Cheers Marcus
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130729122624.Horde.SUzy4e5lddiAJOw5KSFogg6>