On 07/11/2012 01:22 PM, Wade Leftwich wrote:
In case anyone is still interested in this topic, a caveat on compiling
Python, at least on Ubuntu and related distros. Compiling with standard
configuration creates /usr/local/bin/python, which can cause problems
with system utilities.

This is a problem with lots of stuff.  E.g.

https://bugs.launchpad.net/ubuntu/+source/ubuntuone-client/+bug/984089

I've been trying to get Barry Warsaw to shame the various system utility developers at Canonical to use an explicit #!/usr/bin/python rather than #!/usr/bin/env python in their scripts. Hopefully the next major release will have fewer problems like this.

- C



On Linux Mint 13, after rolling my own Python,  I ran into a problem
where Cinnamon desktop manager would not load its settings screens.
Turned out that it was calling just plain old `python`, not
`/usr/bin/python`, so it was getting /usr/local/bin/python which did not
have some expected modules installed. Deleting /usr/local/bin/python,
which is a symlink to python2.7, corrected the fault.

Also: if you have /usr/local/bin/python, then `sudo python`, `sudo
easy_install`, etc will not call the same executables as `python` and
`easy_install`.



On Thursday, June 14, 2012 10:28:05 PM UTC-4, Chris McDonough wrote:

    On 06/14/2012 09:24 PM, Eric Ongerth wrote:
     > Seems unnecessarily scary to newcomers to mention compiling your own
     > Python early in the docs, even if we know it's no big deal.
     > Particularly when the main concern at hand (that many people's
    system
     > instance of python tends to be a poor choice for their Pyramid
     > development) is easily and almost trivially solved by using a
     > virtualenv.

    It would be unnecessarily scary if it was unncessary, but like I
    mentioned in the text included in this email it is effectively
    necessary
    on some platforms.

       Would it not be enough to simply phrase the
     > recommendation of using a virtualenv in fairly strong terms?  With a
     > reference to a deeper document location that discusses the
    compile-yer-
     > own-python approach for those interested.

    No, it's a separate issue.

    - C


     >
     > - Eric
     >
     >
     > On Jun 13, 6:21 am, Chris McDonough<[email protected]>  wrote:
     >> On 06/12/2012 06:36 PM, Wade Leftwich wrote:
     >>
     >>> With the Pyramid docs in ebook form on my phone I tend to
    browse them
     >>> at odd times. Today, standing in line at the post office, I
    stopped at
     >>> this paragraph right near the beginning:
     >>> """
     >>> It s useful to use a Python interpreter that isn t the system
    Python
     >>> interpreter to develop your software. The authors of Pyramid
    tend not
     >>> to use the system Python for development purposes; always a self-
     >>> compiled one. Compiling Python is usually easy, and often the
    system
     >>> Python is compiled with options that aren t optimal for web
     >>> development.
     >>> """
     >>> ... and wondered what the best compilation options for web
    development
     >>> might be. I generally use whatever comes with Ubuntu, which
    seems to
     >>> work OK. Does anyone have config tips to share?
     >>
     >> That wording should probably be revisited because you're not the
    first
     >> to ask.  More accurate is the statement "it's a real pain in the
    ass
     >> when someone walks into IRC and gives us a Python compilation
    scenario
     >> that can only be replicated with their particular OS/platform
    combination".
     >>
     >> This tends to happen all the time on Mac, in particular, and fairly
     >> often on Ubuntu as well.  This is usually because OS vendors
    tend to
     >> actually use the system Python and consider it more "part of the
    OS"
     >> than a development tool for third-party developers.  OS vendors
    don't
     >> compile Python for usage by you; they compile it and configure
    it for
     >> usage by themselves.  Their requirements may not be yours.
     >>
     >> I don't use a Mac anymore, but when I did, and when I tried to help
     >> people get things running on their system Python, I was continually
     >> surprised by the number of things that went wrong and the amount
    of time
     >> people would spend trying to fix them without just compiling and
     >> installing another Python.  If I sat down at a machine and tried
    to make
     >> the system Python work with Pyramid, with enough time and effort, I
     >> probably could.  But someone new to Python probably could not,
    at least
     >> within a reasonable amount of time, and in that case, it's
    literally
     >> easier to just compile another one.
     >>
     >> There's not one cause; each combination of Python version/OS
     >> version/platform combination tends to have its own set of endearing
     >> niggles that aren't much fun.  In general, it's just a shortcut to
     >> consider the "system" Python the domain of the OS vendor and
    compile
     >> your own Python for your own work to shortcut all the potential
    landmines.
     >>
     >> For example, Python on Ubuntu has the following default sys.path:
     >>
     >> Python 2.7.3 (default, Apr 20 2012, 22:39:59)
     >> [GCC 4.6.3] on linux2
     >> Type "help", "copyright", "credits" or "license" for more
    information.
     >>   >>>  import sys
     >>   >>>  sys.path
     >> ['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2',
     >> '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old',
     >> '/usr/lib/python2.7/lib-dynload',
     >> '/usr/local/lib/python2.7/dist-packages',
     >> '/usr/lib/python2.7/dist-packages',
     >> '/usr/lib/python2.7/dist-packages/PIL',
     >> '/usr/lib/python2.7/dist-packages/gst-0.10',
     >> '/usr/lib/python2.7/dist-packages/gtk-2.0',
     >> '/usr/lib/pymodules/python2.7',
     >> '/usr/lib/python2.7/dist-packages/ubuntu-sso-client',
     >> '/usr/lib/python2.7/dist-packages/ubuntuone-client',
     >> '/usr/lib/python2.7/dist-packages/ubuntuone-control-panel',
     >> '/usr/lib/python2.7/dist-packages/ubuntuone-couch',
     >> '/usr/lib/python2.7/dist-packages/ubuntuone-installer',
     >> '/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol']
     >>
     >> Note the inclusion of Ubuntu-specific locations by default.
      This isn't
     >> a problem unless you don't use a virtualenv.  But some
    (insanely) don't.
     >>    I've seen some weird things happen as the result of these
    nonstandard
     >> dirs being included on sys.path by default in any case.
     >>
     >> The system Python on Ubuntu (and many other Linux distros) is also
     >> compiled with UCS4 Unicode, which effectively doubles the space
    required
     >> in memory for each Unicode string without much benefit, as the
    99% case
     >> for webapps doesn't include characters outside the UCS2 range
    (at least
     >> if those webapps don't use Asian scripts).
     >>
     >> - C
     >

--
You received this message because you are subscribed to the Google
Groups "pylons-discuss" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/pylons-discuss/-/IFQelnUOVA8J.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/pylons-discuss?hl=en.


--
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en.

Reply via email to