Dealing with 2.7 and 3.3 installations
Daniel Braniss
danny at cs.huji.ac.il
Tue Jul 30 10:42:44 UTC 2013
> Daniel Braniss <danny at 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
More information about the freebsd-python
mailing list