Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > Python+mod_python


Автор: Nilm 11.12.2006, 23:03
Здравствуйте! Мне нужна помощь.
Мне было необходимо собрать из исходников с помощью VC++ Питон и Мод_Питон. Собирал под Widows XPP. С этим я вроде бы справился, хотя в Мод_Питоне и не собрался ssl. Но речь не об этом.
Собрав мод_Питон, я понял, что то получается в результате компиляции - mod_python.so для Апача, а все, что нужно для Питона - находится в папочке lib\python\mod_python
Скопировав все это в Питон (Lib\site-packages\mod_python) я запустил Питон и написал строку "from mod_python import apache"
на что мне выползла ошибка:

>>> from mod_python import apache
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Documents and Settings\WINXP\╨рсюўшщ ёЄюы\MyPython-2.5\lib\site-packa
ges\mod_python\apache.py", line 28, in <module>
    import _apache
ImportError: No module named _apache
>>>

Может быть кто-то сталкивался с чем-то похожим? Дело в том, что физически, этого модуля там действительно нет.
Помогите, плиз.

Автор: cherep 12.12.2006, 00:44
Вроде емнип так и должно быть. Там в доках все написано. Суть в том, что этот модуль "появляется" когда mod_python работает в контексте Апача. То есть только вместе с сервером.

PS. А зачем именно собирать?? Да еще под виндой. Есть же бинарники...

Автор: Nilm 12.12.2006, 11:05
Чтобы отдебаггить в вижуалке ! smile
Я немного изменил исходники Питона.

Хмм.... настроил Апач, он работает.
В Апач скинул только mod_python.so
В Питон только папку mod_python:
__init__.py
apache.py
cache.py
cgihandler.py
Cookie.py
psp.py
publisher.py
python22.py
Session.py
testhandler.py
util.py

Все.
Сам по себе Апач работает. Но если после всего этого в Питоне ввести ту же строку, то выдается та же ошибка. Наверное надо еще что-то куда-то скинуть...

В Вижуалке после билда проекта mod_python папочка Debug содержит след файлы:
_apachemodule.obj
connobject.obj
filterobject.obj
hlist.obj
hlistobject.obj
mod_python.exp
mod_python.lib
mod_python.obj
mod_python.pdb
mod_python.so
requestobject.obj
serverobject.obj
tableobject.obj
util.obj
vc70.idb
vc70.pdb
Version.res

как мне кажется для использования из них необходимы только mod_python.lib(я не знаю, куда его деть); mod_python.so; и, может быть, mod_python.exp. Но в этом я не уверен. Использовал же я только mod_python.so

Автор: Nilm 12.12.2006, 12:01
Может быть кто знает, куда девать остальные...

Автор: cherep 12.12.2006, 14:15
Цитата(Nilm)

Но если после всего этого в Питоне ввести ту же строку, то выдается та же ошибка.


Извини за глупый вопрос, а как именно ты запускаешь? 

Необходимо в httpd.conf прописать

LoadModule mod_python.so

Потом в том же httpd.conf назначить на какую-нить папку (видную с веба) обработчиком mod_python.PSP или mod_python.Publisher или какой-то свой, потом, положить туда script.py и открыть в браузере

http://host/path/script.py

Надеюсь ты именно так делал?
Логи апача смотрел?





Автор: bbaron 14.3.2007, 21:25
Мне нужен специалист по Python, его помошь, мнение и может быть преподование, самом собой не бесплатно smile !!! Кого интересует прошу написать мне на [email protected] 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)