XtouRusX
Дек. 23, 2008 19:57:14
У меня проблема следуещего рода. Запускаю питон и получаю вот такое сообщение
'import site' failed; use -v for traceback
Python 2.5.2 (r252:60911, Mar 28 2008, 14:48:58)
on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
ввожу как предлагают python -v получаю кучу информации, так как лог дольшой привожу проблемную часть его
'import site' failed; traceback:
Traceback (most recent call last):
File “/usr/lib64/python2.5/site.py”, line 415, in <module>
main()
File “/usr/lib64/python2.5/site.py”, line 400, in main
paths_in_sys = addsitepackages(paths_in_sys)
File “/usr/lib64/python2.5/site.py”, line 185, in addsitepackages
sys.lib,
AttributeError: ‘module’ object has no attribute ‘lib’
Незнаю куда дальше копать. Раньше все работало, до установки boost.python, после установки тож работало потом перестало, удалил не помогло, момент когда перестало работать не уловил, поэтому причину немогу найти и что исправлять.
Система OpenSuSE 11 ставил все только из стандартной поставки,пробовал удалять пакеты с питоном и ставить заново не помагает. Может кто поможет.
crchemist
Дек. 23, 2008 22:34:12
в мене addsitepackages виглядає так:
def addsitepackages(known_paths):
"""Add site-packages (and possibly site-python) to sys.path"""
prefixes = [sys.prefix]
if sys.exec_prefix != sys.prefix:
prefixes.append(sys.exec_prefix)
for prefix in prefixes:
if prefix:
if sys.platform in ('os2emx', 'riscos'):
sitedirs = [os.path.join(prefix, "Lib", "site-packages")]
elif os.sep == '/':
sitedirs = [os.path.join(prefix,
"lib",
"python" + sys.version[:3],
"site-packages"),
os.path.join(prefix, "lib", "site-python")]
else:
sitedirs = [prefix, os.path.join(prefix, "lib", "site-packages")]
if sys.platform == 'darwin':
# for framework builds *only* we add the standard Apple
# locations. Currently only per-user, but /Library and
# /Network/Library could be added too
if 'Python.framework' in prefix:
home = os.environ.get('HOME')
if home:
sitedirs.append(
os.path.join(home,
'Library',
'Python',
sys.version[:3],
'site-packages'))
for sitedir in sitedirs:
if os.path.isdir(sitedir):
addsitedir(sitedir, known_paths)
return None
File “/usr/lib64/python2.5/site.py”, line 185, in addsitepackages
sys.lib, — в мене такого рядка нема. python-2.5.2
Ed
Дек. 23, 2008 22:37:57
Чудес не бывает. Скорее всего вы не все пакеты переставили. Посмотрите в каком пакете этот файл и переставьте его.
Я посмотрел в тарбол 2.5.2, который на
python.org лежит. Там нет никаких sys.lib в строке 185, там “lib”.
Код там такой:
sitedirs = [os.path.join(prefix,
"lib",
"python" + sys.version[:3],
"site-packages"),
os.path.join(prefix, "lib", "site-python")]
XtouRusX
Дек. 25, 2008 19:21:35
Ed
Чудес не бывает. Скорее всего вы не все пакеты переставили. Посмотрите в каком пакете этот файл и переставьте его.
Я посмотрел в тарбол 2.5.2, который на python.org лежит. Там нет никаких sys.lib в строке 185, там “lib”.
Код там такой:
sitedirs = [os.path.join(prefix,
"lib",
"python" + sys.version[:3],
"site-packages"),
os.path.join(prefix, "lib", "site-python")]
Я этот файл скопировал из рпм пакета, отдельно, и пробовал все файлы из пакеты не устанавливать а просто как из архива скопировать. Изменил код на приведенный вами, проблема осталась.