Skip site navigation (1)Skip section navigation (2)
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>