Bluehost- python脚本中标头的过早结束

时间:2014-12-06 17:07:16

标签: python cgi bluehost

我有一个网站,我的网站下的cgi-bin文件夹中有2个python cgi脚本。现在,每当它尝试加载这两个python cgi scipts中的任何一个时,服务器返回500错误,并且错误的过早结束臭名昭着的错误。

所以我尝试了一些新的东西。我做了一个非常简单的python cgi脚本:

#!/usr/bin/python -u

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

我将此命名为hello_world.py,将其与其他2个python脚本放在cgi-bin中,然后运行以下链接: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 个答案:

答案 0 :(得分:0)

我有3.2.14.3.2 BeautifulSoup版本。

$pip freeze
BeautifulSoup==3.2.1
beautifulsoup4==4.3.2

您可以像这样导入BeautifulSoup:

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

您可以在Python终端上查看BeautifulSoup的版本。

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

来自Python Doc Porting code to 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 代码,但您只有< strong> 美丽的汤4 已安装。

如果您获得ImportError “No module named bs4”,则问题在于您尝试运行 Beautiful Soup 4 代码,但您只有 < em>美丽的汤3 已安装。