Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Jul 2013 13:42:36 +0300
From:      Daniel Braniss <danny@cs.huji.ac.il>
To:        mva@freebsd.org
Cc:        David Demelier <demelier.david@gmail.com>, bapt@freebsd.org, koobs@freebsd.org, freebsd-python@freebsd.org
Subject:   Re: Dealing with 2.7 and 3.3 installations
Message-ID:  <E1V47O1-0001rY-4E@kabab.cs.huji.ac.il>
In-Reply-To: <20130730115536.Horde.hJnU1JcPQIOJUsZ_wn7oOw9@webmail.df.eu>
References:  <CAO%2BPfDdfdhfnyTi0sJzvbJA0GLnOB=3dNme0gn6uhnenzUcjaQ@mail.gmail.com> <20130730095456.Horde.XlxQMdj5YU1hIxf6WAYZOQ2@webmail.df.eu> <E1V460a-0000VO-7t@kabab.cs.huji.ac.il> <20130730115536.Horde.hJnU1JcPQIOJUsZ_wn7oOw9@webmail.df.eu>

next in thread | previous in thread | raw e-mail | index | archive | help
> Daniel Braniss <danny@cs.huji.ac.il>:
> 
> >> David, Daniel,
> >>
> >> just to take this to python@ and to clarify, what problems are still
> >> open for you:
> >>
> >> - bapt confirmed that the parallel installation of python itself from
> >> binary packages should work
> >>    without any problem
> >> - Installation from the ports tree should work without problems
> >> - Installation of python modules from the ports tree basically works
> >> without problems (given that
> >>    you set the correct make knobs), BUT can create tons of issues,
> >> when it comes to deinstallation,
> >>    port dependency detection, etc.
> >>
> >> As per my understanding, you both mentioned issues with both, python
> >> itself and 3rd party packages.
> >> As said above, python itself should not be any problem. If you ran
> >> into any issue, please let python@
> >> know about it (ideally with a reproducible step-by-step description)
> >> or create a PR.
> >>
> >> Regarding the 3rd party modules, I am not sure about the pkg status.
> >> Maybe bapt can say a word or
> >> two about whether packages are (planned to or currently) built for
> >> different python versions or not.
> >> David, Daniel: if you are currently running into trouble with the 3rd
> >> party modules, please
> >> let us know, what your requirements are, so we can discuss different
> >> solutions top be applied to the
> >> ports tree and, where applicable, improved support for the pkg builds.
> >>
> >> Thanks and cheers
> >> Marcus
> >>
> >>
> >>
> >
> > hi Marcus,
> > you are correct on most counts.
> > it's the make in ports that's problematic.
> >
> >  - no problem in installing all/any version of lang/python.
> >  - the issue is with 3rd. party modules, and more specifically
> >    when installing. Furthermore, most modules  compile for all
> >    versions of python, but installing them is the issue:
> >      - if the module is installed, no matter what python
> >        version, it will be deinstalled - unless  FORCE_PKG_REGISTER=,
> >        which prevents the deinstall issue
> >    IMHO, the check for is installed does not correctly use PYTHON_VERSION
> > example:
> >
> > 	/usr/local/bin/python -> python3.3
> >
> > # cd /usr/ports/devel/py-setproctitle
> > # make install
> > ===>  Installing for py33-setproctitle-1.1.7
> > ===>   py33-setproctitle-1.1.7 depends on file: /usr/local/bin/python3.3 -
> > found
> > ===>   Generating temporary packing list
> > ===>  Checking if devel/py-setproctitle already installed
> > ===>   py33-setproctitle-1.1.7 is already installed               
> > <==== NOT TRUE
> >       You may wish to ``make deinstall'' and install this port again
> >       by ``make reinstall'' to upgrade it properly.
> >       If you really wish to overwrite the old port of devel/py-setproctitle
> >       without deleting it first, set the variable "FORCE_PKG_REGISTER"
> >       in your environment or the "make install" command line.
> > *** [check-already-installed] Error code 1
> >
> > Stop in /usr/ports/devel/py-setproctitle.
> > # ls -ls /usr/local/lib/python3.3/site-packages/
> > total 5
> > 1 -r--r--r--  1 root  wheel   119 Jul 29 11:43 README
> > 2 drwxr-xr-x  4 root  wheel    14 Jul 28 14:00 psycopg2
> > 3 -rw-r--r--  1 root  wheel  1883 Jul 28 14:00 psycopg2-2.5.1-py3.3.egg-info
> > # make {de,re}install
> > ===>  Deinstalling for devel/py-setproctitle
> > ===>   Deinstalling
> > Deinstallation has been requested for the following 1 packages:
> >
> >         py27-setproctitle-1.1.7  <==========!!!!
> >
> > The deinstallation will free 31 kB
> > [1/1] Deleting py27-setproctitle-1.1.7... done
> > ===>  Installing for py33-setproctitle-1.1.7
> > ===>   py33-setproctitle-1.1.7 depends on file: /usr/local/bin/python3.3 -
> > found
> > ===>   Generating temporary packing list
> > ...
> >
> >
> >  - somehwere it should be mentioned:
> > 	- how to set the default python
> > 	  i.e: usr/local/bin/python is a symlink, as is python-config
> >  - the bsd.python.mk is very confusing, and has some errors
> >
> > at the moment my goal is to have python 2.7 as default, and 3.2/3.3
> > as optional, and using PYTHON_VERSION= and FORCE_PKG_REGISTER= ie:
> > 	make PYTHON_VERSION=3.3 FORCE_PKG_REGISTER= clean install
> > is a workaround
> 
> Does the same problem strike you, if you use PYTHON_DEFAULT_VERSION=xxx?
> PYTHON_VERSION should be used by ports, not by the user (input).

I'll check, but don't hold your breath :-)

> Installing the port for different python versions at the same is not
> bullet-proof anyways, especially when it comes to data being installed
> outside of the python site-packages.

I am only 'compiling' from modules in ports,

*********************************
I AM INSTALLING IN site-packages!
*********************************
there is currently:
33 drwxr-xr-x  126 root  wheel  266 Jul 29 17:23 /usr/local/lib/python2.7/site-
packages
 2 drwxr-xr-x    4 root  wheel   12 Jul 28 16:40 /usr/local/lib/python3.2/site-
packages
 2 drwxr-xr-x    6 root  wheel   18 Jul 30 12:49 /usr/local/lib/python3.3/site-
packages


> 
> So what you need is support for a python module installed for two different
> python versions at the same time, correct? And this (right now) is not
> supported, I am afraid.

as I explained, probably not too well, the problem is in the install from
ports. the check for the installed  modules does not check, or
incorrectly checks for the desired version.

setting FORCE_PKG_REGISTER is a workaround, because it does not
do any deinstall.

and finally, there are currently 3(three) versions of python.

cheers,
	danny






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E1V47O1-0001rY-4E>