<html><head><style type='text/css'>p { margin: 0; }</style></head><body><div style='font-family: Verdana; font-size: 12pt; color: #000000'><style>p { margin: 0; }</style><div style="font-family: Verdana; font-size: 12pt; color: #000000"><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><b>From: </b>"Jan Owoc" <jsowoc@gmail.com><br><b>To: </b>"Discussion list for OpenIndiana" <openindiana-discuss@openindiana.org><br><b>Sent: </b>Thursday, August 9, 2012 9:37:32 AM<br><b>Subject: </b>Re: [OpenIndiana-discuss] Calibre doc converter to ebooks formats        for OpenIndiana??<br>On Thu, Aug 9, 2012 at 7:03 AM, Milan Jurik <milan.jurik@xylab.cz> wrote:<br>> Sooner or later Python 3.2 will be provided in OI SFE but I am not sure how<br>> much it can coexists with 2.6</blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><br>Many GNU/Linux distributions have both a Python2 and a Python3 in<br>their repositories. I happen to have both installed on one of my<br>systems.</blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><br></blockquote><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"></blockquote><span style="font-size: 12pt; ">We do quite a bit of 'experimentation' with various versions of Python, so have <i>several</i> versions installed at a given moment. The Python 'altinstall' option is your friend here through all v2s of python. In fact - if memory serves, since v3.0(?), I believe 'make install' is now an alias for 'make altinstall'.</span> The 'make fullinstall' option now exists for when you're ready to make the jump to v3-as-default.<span style="font-size: 12pt; "> </span><div><span style="font-size: 12pt; "><br></span></div><div><span style="font-size: 12pt; ">Really, the developer has fully granular control over which binary to use in a given environment; they coexist quite nicely in separate trees. (Some crazy developer might well have 2.4, 2.6, 2.7 and 3.2, all in harmonious cohabitation.)</span><div><br></div><div>Of course, the only big gotcha is that the binary named 'python' is called, by default, by many things - and so should be agreed upon. We can make the determination of which version is to be so blessed as 'The OS Version' as necessary bits and pieces make it into versions.</div><div><br></div><div>Fwiw, I've suggested we use these binary naming conventions within our own userland builds; they seem to accommodate most developer use cases (we have many), and allow for rapid transition in the future; for example, for all the system-level uses of python.<br><div><br></div><div>(OK, I had to look it up: see release notes for 3.0a5: <a href="http://www.python.org/getit/releases/3.0.1/NEWS.txt" target="_blank">http://www.python.org/getit/releases/3.0.1/NEWS.txt</a> )<br><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><br></div><div>The way it works is similar to how it's frequently done with gcc,</div><div>where there is a series of symbolic links, with the plain "python"</div><div>command pointing toward the version that is considered most universal:</div><div><br></div><div>~$ ls -l /usr/bin/pyth*</div><div>lrwxrwxrwx 1 root root       9 Apr 23 10:06 /usr/bin/python -> python2.7</div><div>lrwxrwxrwx 1 root root       9 Apr 23 10:06 /usr/bin/python2 -> python2.7</div><div>-rwxr-xr-x 1 root root 2989480 Jul 31 23:40 /usr/bin/python2.7</div><div>-rwxr-xr-x 1 root root    1652 Jul 31 23:40 /usr/bin/python2.7-config</div><div>lrwxrwxrwx 1 root root      16 Apr 17 11:20 /usr/bin/python2-config -></div><div>python2.7-config</div><div>lrwxrwxrwx 1 root root       9 Apr 14 23:13 /usr/bin/python3 -> python3.2</div><div>lrwxrwxrwx 1 root root      11 May  3 09:52 /usr/bin/python3.2 -> python3.2mu</div><div>-rwxr-xr-x 1 root root 2954048 May  3 09:52 /usr/bin/python3.2mu</div><div>lrwxrwxrwx 1 root root      11 Apr 14 23:13 /usr/bin/python3mu -> python3.2mu</div><div>lrwxrwxrwx 1 root root      16 Apr 17 11:20 /usr/bin/python-config -></div><div>python2.7-config</div><div><br></div><div>When I have a program that *requires* Python 3.2, it usually knows (or</div><div>can be configured) to call "python3".</div><div><br></div><div>Cheers,</div><div>Jan</div><div><br></div><div>_______________________________________________</div><div>OpenIndiana-discuss mailing list</div><div>OpenIndiana-discuss@openindiana.org</div><div>http://openindiana.org/mailman/listinfo/openindiana-discuss</div></blockquote></div></div></div></div></div></body></html>