Bluehost-Преждевременный конец заголовков в скрипте Python

У меня есть веб-сайт, и у меня есть 2 сценария cgi python в папке cgi-bin на моем веб-сайте. Теперь каждый раз, когда он пытается загрузить любой из этих двух скриптов cgi python, сервер возвращает ошибку 500, и это печально известная ошибка преждевременного завершения ошибок.

Так что я попробовал что-то новенькое. Я сделал очень простой cgi-скрипт на Python:

#!/usr/bin/python -u

print "Content-type: text/html\n\n"
print "Hello World!"

Я назвал это hello_world.py, поместил его в cgi-bin с двумя другими скриптами Python и запустил следующую ссылку: http://steap.co/cgi-bin/hello_world.py, и он удивительно вернул« Hello World! ».

Это показало мне, что что-то не так с моими скриптами Python, но я не знаю что. Это мой сценарий:

Steap.py

#!/usr/bin/python -u
#Steam64 ID - 76561198041707719
import urllib
import cgi, cgitb
import itertools
import urllib2
import time
from datetime import datetime
from bs4 import BeautifulSoup
from flask import Flask, jsonify, render_template, redirect
import requests
import json
import xml.etree.ElementTree as ET
from xml.dom.minidom import parseString
import sys

//code goes here

print "Content-type: text/html\n\n"
print "<div id=\"phisher-users\"></br></br>"
print getFriendList(steeam)
print "</div>"
print "<div id=\"phisher-ids\" style=\"display: none;\">"
print grabPhisherIDs()
print "</div>"

И теперь, когда сервер попытался загрузить этот скрипт, я получил дополнительную информацию:

Traceback (most recent call last):
  File "Steap.py", line 9, in 
    from bs4 import BeautifulSoup
ImportError: No module named bs4
[Sat Dec 06 09:58:07 2014] [error] [client 174.61.70.33] Premature end of script headers: Steap.py

Почему это происходит? Я произвольно установил python 2.7 на свой веб-сайт и использовал pip для всех указанных выше пользовательских модулей (таких как bs4, flask и т. Д.).

Любая помощь приветствуется.


person Vishwa Iyer    schedule 06.12.2014    source источник
comment
Можете ли вы попробовать запустить команду pip freeze и посмотреть, показывает ли она bs4 или BeautifulSoup.   -  person Tanveer Alam    schedule 06.12.2014
comment
@TanveerAlam Как мне это сделать?   -  person Vishwa Iyer    schedule 06.12.2014
comment
Просто перейдите в командную строку и введите pip freeze, затем нажмите Enter.   -  person Tanveer Alam    schedule 06.12.2014
comment
@TanveerAlam Хорошо, я вижу BeautifulSoup==3.2.1 и beautifulsoup4==4.3.2   -  person Vishwa Iyer    schedule 06.12.2014


Ответы (1)


У меня есть 3.2.1 и 4.3.2 версии BeautifulSoup.

$pip freeze
BeautifulSoup==3.2.1
beautifulsoup4==4.3.2

Вы можете импортировать BeautifulSoup следующим образом:

>>> from bs4 import BeautifulSoup
>>> from BeautifulSoup import BeautifulSoup

Вы можете проверить версию BeautifulSoup на терминале Python.

>>> import bs4
>>> bs4.__version__
'4.3.2'
>>> import BeautifulSoup
>>> BeautifulSoup.__version__
'3.2.1' 

Из документа Python Перенос кода в BS4

Большая часть кода, написанного против Beautiful Soup 3, будет работать против Beautiful Soup 4 с одним простым изменением. Все, что вам нужно сделать, это изменить имя пакета from BeautifulSoup to bs4. Итак, это:

from BeautifulSoup import BeautifulSoup

становится это:

from bs4 import BeautifulSoup

Если вы получили ошибку ImportError «No module named BeautifulSoup», ваша проблема в том, что вы пытаетесь запустить код Beautiful Soup 3, но у вас есть только Beautiful Soup 4 установлены.

Если вы получили ImportError “No module named bs4”, ваша проблема в том, что вы пытаетесь запустить код Beautiful Soup 4, но у вас есть только Beautiful Soup 3 установлен.

person Tanveer Alam    schedule 06.12.2014
comment
Теперь я получаю сообщение об ошибке: Traceback (most recent call last): File "Steap.py", line 9, in from BeautifulSoup import BeautifulSoup ImportError: No module named BeautifulSoup - person Vishwa Iyer; 06.12.2014
comment
Затем попробуйте import BeautifulSoup, import beautifulsoup4 или import bs4 и сначала посмотрите, что вам подходит. - person Tanveer Alam; 06.12.2014
comment
Проблема в том, что все мои пользовательские модули имеют ошибки импорта, а не только beautifulsoup. - person Vishwa Iyer; 07.12.2014