# Python maintenance



## jaymax (Dec 2, 2010)

Hello,

I have the following in my ports collection



```
lang/python:
lang/python-mode.el:
lang/python24:
lang/python25:
lang/python26:
lang/python27:
lang/python31:
```


Installed programs from pkg_info


```
boost-python-libs-1.43.0 		Framework for interfacing Python and C++
python26-2.6.6      			An interpreted object-oriented programming language
python27-2.7.0_1    			An interpreted object-oriented programming language
```

My python related programs installed are


```
p5-Clone-0.31       			Clone - recursively copy Perl datatypes
py25-adns-1.2.1     			A Python Interface to adns, the asynchronous DNS library
py25-gnome-2.26.1   			A set of Python bindings for GNOME 2
py25-gnome-desktop-2.26.0 		A set of Python bindings used by modules in the GNOME Deskt
py25-gstreamer-0.10.14 			A set of Python bindings for gstreamer
py25-gtk-2.14.1     			A set of Python bindings for GTK+
py25-gtksourceview-2.6.0 		A python bindings for the version 2 of the GtkSourceView li
py25-numeric-24.2_3 			The Numeric Extension to Python
py25-openssl-0.8_1  			Python interface to the OpenSSL library
py25-orbit-2.24.0   			Python bindings for ORBit2
py25-pycrypto-2.0.1_2 			The Python Cryptography Toolkit
py25-pymsn-0.3.3    			MSN Connection library
py25-telepathy-butterfly-0.3.3 		MSN Connection Manager for Telepathy Framework
py26-gdata-2.0.12   			GData Python Client Library
py27-cairo-1.8.8_1  			Python bindings for Cairo
py27-dbus-0.83.1_1  			Python bindings for the D-BUS messaging system
py27-gobject-2.21.1 			Python bindings for GObject
py27-libxml2-2.7.7  			Python interface for XML parser library for GNOME
py27-nose-0.11.4    			A discovery-based unittest extension
py27-setuptools-0.6c11 			Download, build, install, upgrade, and uninstall Python pac
py27-sqlite3-2.7_1  			Standard Python binding to the SQLite3 library
py27-telepathy-python-0.15.18 	Python bindings for the Telepathy framework
```

The following are listed as obsolete or stale in the pkgdb from the portversion command


```
akonadi                 gnome-vfs                 kdeplasma-addons	                    								  
autoconf                gok                       kdesdk 	   
brasero                 gstreamer-plugins-hal     kdetoys                 	   
empathy                 gtk-vnc                   kdeutils                	   
eog                     gtkhtml3                  kdewebdev               	   
epiphany                gtksourceview             metacity                	   
evince                  guile                     orca                    	   
evolution               gvfs                      phonon                  	   
evolution-exchange      hal                       phonon-xine             	   
evolution-webcal        hal-info                  py25-gnome              	   
faad2                   kde4                      py25-gnome-desktop      	   
farsight2               kdeaccessibility          py25-gstreamer          	   
ffmpeg                  kdeadmin                  py25-gtk                	   
file-roller             kdeartwork                py25-gtksourceview      	   
gconf-editor            kdebase                   py25-openssl            	   
gdm                     kdebase-runtime           py25-pycrypto           	   
gedit                   kdeedu                    py25-telepathy-butterfly	   
gnome-games             kdegames                  qt4-dbus                	   
gnome-keyring           kdegraphics               qt4-qdbusviewer         	   
gnome-system-monitor    kdelibs                   redland                 	   
gnome-system-tools      kdemultimedia             seahorse-plugins        	   
gnome-terminal          kdenetwork                soprano                 	   
gnome-themes            kdepim                    sound-juicer            	   
gnome-utils             kdepimlibs                telepathy-farsight      	  
      			          				vinagre
```

The uptodate listing is


```
boost-python-libs 	   py27-dbus      
py25-adns         	   py27-gobject   
py25-numeric      	   py27-libxml2   
py25-orbit        	   py27-nose      
py25-pymsn        	   py27-setuptools
py27-cairo        	   py27-sqlite3
```


Upgrading attempts of several of these fail, requiring python headers which are not found.

I thought of cleaning up the python installation(s)! just one python but noticed there is now a "python31".

I could extrapolate from the info in the UPDATING file and make the python31 as the default, but what happens to the py25*, py26* & py27* files, do I have to deinstall and reinstall them?
Could someone suggest a solution to this apparent problem?

Thanks!


----------



## roddierod (Dec 2, 2010)

Unless you are doing python development yourself, you don't want Python31 as the default. Python31 is incompatible with the python 2.x series.

I'm still using Python 2.6 as the default for python dependent applications. You can set that in make.conf


```
PYTHON_DEFAULT_VERSION=2.6
```


----------



## graudeejs (Dec 2, 2010)

roddierod said:
			
		

> Unless you are doing python development yourself, you don't want Python31 as the default. Python31 is compatible with the python 2.x series.
> 
> I'm still using Python 2.6 as the default for python dependent applications. You can set that in make.conf
> 
> ...



Did you mean *[red]in[/red]compatible* 
http://www.python.org/doc/essays/ppt/euro2008/Py3kEuro08.pdf

Or not?


----------



## roddierod (Dec 2, 2010)

Thanks Killa! That does change things...


----------



## alvaro (Mar 25, 2011)

Is there a quick command to change all py26-* packages to py27-?


----------



## DutchDaemon (Mar 25, 2011)

Already covered in [cmd=]less +/^20110304 /usr/ports/UPDATING [/cmd] (the *make upgrade-site-packages* stuff).


----------



## jb_fvwm2 (Mar 26, 2011)

As a double-check, you may want to look at /var/db/pkg/python26- first, note all its subdirectories, and after the upgrade check that none remain, and if so, *pkg_which* the files in them to rebuild the ports.  (In my case, a ton of rebuilds remained, but I am used to scripting easy solutions with *pkg_which*, *tee -a*, *sort*, *uniq*,  *cat*,
*head*, *xargs*, *edit*, and *portmaster*  which more than halves the time required.)


----------

