|
Prev: Python with Ecmascript
Next: pythoncom InternetExplorer.Application don't work in vista ||firefox pythoncom ?
From: david on 5 Jul 2008 14:09 You learn something new every day: On my ubuntu, update-manager is supposed to use the python2.5 installed on /usr/bin. Well, I had subsequently installed a whole bunch of stuff in /usr/local (/usr/local/bin/python and /usr/local/lib/ python2.5 etc), which I have happily been using for development for a year. I had thought that the two pythons were completely independent. Well, I was wrong. When /usr/bin/python2.5 runs, *by default*, it adds /usr/local/lib/python2.5 to its sys path - and apparently there are things in /usr/local which are inconsistent with those at /usr (not suprising). I have fixed the problem - but I had to modify the actual update- manager .py file itself. At the beginning, I set the sys.path in python *explicitly* to not include the /usr/local stuff. But this is clearly a kludge. My question: how do I keep the Ubuntu python stuff at /usr/bin/python2.5 from adding /usr/local/lib/ python2.5 to the import search path in a clean and global way? I really want both pythons completely isolated from one another! Thankyou.
From: casevh on 5 Jul 2008 15:04 On Jul 5, 11:09 am, david <dgel...(a)gmail.com> wrote: > You learn something new every day: > > On my ubuntu, update-manager is supposed to use the python2.5 > installed on /usr/bin. Well, I had subsequently installed a whole > bunch of stuff in /usr/local (/usr/local/bin/python and /usr/local/lib/ > python2.5 etc), which I have happily been using for development for a > year. I had thought that the two pythons were completely independent. > > Well, I was wrong. When /usr/bin/python2.5 runs, *by default*, it > adds /usr/local/lib/python2.5 to its sys path - and apparently there > are things in /usr/local which are inconsistent with those at /usr > (not suprising). > > I have fixed the problem - but I had to modify the actual update- > manager .py file itself. At the beginning, I set the sys.path in > python *explicitly* to not include the /usr/local stuff. > > But this is clearly a kludge. My question: how do I keep the Ubuntu > python stuff at /usr/bin/python2.5 from adding /usr/local/lib/ > python2.5 to the import search path in a clean and global way? I > really want both pythons completely isolated from one another! > > Thankyou. Python's path is build by site.py. In the file /usr/lib/python2.5/ site.py, look for the line "prefixes.insert(0, '/usr/local')" and comment it out. That should do it. casevh
From: catalinfest on 6 Jul 2008 07:35 Is some problems with 2.5 i see something on internet (ex: ctypes ) So i try to install 2.5.1 for pyglet1.1, but not work with ctypes . So ctypes lib is on the path lib's !? But python2.6 work with ctypes. The python2.5 and 2.6 have been installed with same command: python setup.py install If you see my code : python2.5 Python 2.5.1 (r251:54863, Jul 4 2008, 14:55:17) [GCC 4.3.1] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import ctypes Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python2.5/ctypes/__init__.py", line 10, in <module> from _ctypes import Union, Structure, Array ImportError: No module named _ctypes >>> import pyglet Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python2.5/site-packages/pyglet/__init__.py", line 69, in <module> _require_ctypes_version('1.0.0') File "/usr/local/lib/python2.5/site-packages/pyglet/__init__.py", line 64, in _require_ctypes_version import ctypes File "/usr/local/lib/python2.5/ctypes/__init__.py", line 10, in <module> from _ctypes import Union, Structure, Array ImportError: No module named _ctypes >>> python (default python ) Python 2.6b1 (r26b1:64398, Jul 4 2008, 15:57:20) [GCC 4.3.1] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import ctypes >>> import pyglet >>> print pyglet.version 1.1beta2 >>> Try python 2.6 To see the path this is some code: import sys print sys.path print sys.prefix print sys.prefix Have a nice day ! On Jul 5, 10:04 pm, casevh <cas...(a)gmail.com> wrote: > On Jul 5, 11:09 am, david <dgel...(a)gmail.com> wrote: > > > > > You learn something new every day: > > > On my ubuntu, update-manager is supposed to use the python2.5 > > installed on /usr/bin. Well, I had subsequently installed a whole > > bunch of stuff in /usr/local (/usr/local/bin/python and /usr/local/lib/ > > python2.5 etc), which I have happily been using for development for a > > year. I had thought that the two pythons were completely independent. > > > Well, I was wrong. When /usr/bin/python2.5 runs, *by default*, it > > adds /usr/local/lib/python2.5 to its sys path - and apparently there > > are things in /usr/local which are inconsistent with those at /usr > > (not suprising). > > > I have fixed the problem - but I had to modify the actual update- > > manager .py file itself. At the beginning, I set the sys.path in > > python *explicitly* to not include the /usr/local stuff. > > > But this is clearly a kludge. My question: how do I keep the Ubuntu > > python stuff at /usr/bin/python2.5 from adding /usr/local/lib/ > > python2.5 to the import search path in a clean and global way? I > > really want both pythons completely isolated from one another! > > > Thankyou. > > Python's path is build by site.py. In the file /usr/lib/python2.5/ > site.py, look for the line "prefixes.insert(0, '/usr/local')" and > comment it out. That should do it. > > casevh
From: Zentrader on 7 Jul 2008 22:15
On Jul 5, 11:09 am, david <dgel...(a)gmail.com> wrote: > You learn something new every day: > > On my ubuntu, update-manager is supposed to use the python2.5 > installed on /usr/bin. Well, I had subsequently installed a whole > bunch of stuff in /usr/local (/usr/local/bin/python and /usr/local/lib/ > python2.5 etc), which I have happily been using for development for a > year. I had thought that the two pythons were completely independent. > > Well, I was wrong. When /usr/bin/python2.5 runs, *by default*, it > adds /usr/local/lib/python2.5 to its sys path - and apparently there > are things in /usr/local which are inconsistent with those at /usr > (not suprising). > > I have fixed the problem - but I had to modify the actual update- > manager .py file itself. At the beginning, I set the sys.path in > python *explicitly* to not include the /usr/local stuff. > > But this is clearly a kludge. My question: how do I keep the Ubuntu > python stuff at /usr/bin/python2.5 from adding /usr/local/lib/ > python2.5 to the import search path in a clean and global way? I > really want both pythons completely isolated from one another! > > Thankyou. When you install a second version, let us say Python3.0, you want to download the source and do the normal config and make but not make install. Instead do a make altinstall. They will be kept separate. I have Ubuntu's 2.5 as well as 3.0. Ubuntu installs to /usr/bin and / usr/lib, so I installed 3.0 from /usr/local/Python-3.0 and those files installed into /usr/local/bin and lib and the executable is python3.0. Take a look at the README file that comes with the source code for other options. |