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

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

Поэтому я попробовал что-то новое. Я сделал очень простой Python CGI-скрипт:

#!/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 и т. Д.).

Любая помощь с благодарностью.

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.

Другие вопросы по тегам