2010-09-11 36 views
6

我想从我的ubuntu清理中使用google appengine python SKD。我已经编译了python2.5。但是,当我执行任何与它的“dev_appserver.py”命令,我收到以下错误:GAE“no attribute”HTTPSHandler'“dev_appserver.py

Traceback (most recent call last): 
    File "dev_appserver.py", line 69, in <module> 
    run_file(__file__, globals()) 
    File "dev_appserver.py", line 65, in run_file 
    execfile(script_path, globals_) 
    File "/home/rohan/workspace/app_en/google_appengine/google/appengine/tools/dev_appserver_main.py", line 90, in <module> 
    from google.appengine.tools import appcfg 
    File "/media/Ultimate/WebD/django/app_engine/google_appengine/google/appengine/tools/appcfg.py", line 59, in <module> 
    from google.appengine.tools import appengine_rpc 
    File "/media/Ultimate/WebD/django/app_engine/google_appengine/google/appengine/tools/appengine_rpc.py", line 24, in <module> 
    import fancy_urllib 
    File "/media/Ultimate/WebD/django/app_engine/google_appengine/lib/fancy_urllib/fancy_urllib/__init__.py", line 328, in <module> 
    class FancyHTTPSHandler(urllib2.HTTPSHandler): 
AttributeError: 'module' object has no attribute 'HTTPSHandler' 

我已经检查python2.6的和的python2.5的urllib2的moduls但没有在模型中认定中没有差异, HTTPSHandelr也在python2.5中。所以我想这是其他一些错误。

我尝试用默认的python2.6的太运行,但后来我得到以下错误:

WARNING 2010-09-11 12:08:40,848 datastore_file_stub.py:657] Could not read datastore data from /tmp/dev_appserver.datastore 
Traceback (most recent call last): 
    File "./dev_appserver.py", line 69, in <module> 
    run_file(__file__, globals()) 
    File "./dev_appserver.py", line 65, in run_file 
    execfile(script_path, globals_) 
    File "/home/rohan/workspace/app_en/google_appengine/google/appengine/tools/dev_appserver_main.py", line 449, in <module> 
    sys.exit(main(sys.argv)) 
    File "/home/rohan/workspace/app_en/google_appengine/google/appengine/tools/dev_appserver_main.py", line 426, in main 
    static_caching=static_caching) 
    File "/home/rohan/workspace/app_en/google_appengine/google/appengine/tools/dev_appserver.py", line 3820, in CreateServer 
    server = HTTPServerWithScheduler((serve_address, port), handler_class) 
    File "/home/rohan/workspace/app_en/google_appengine/google/appengine/tools/dev_appserver.py", line 3840, in __init__ 
    request_handler_class) 
    File "/usr/lib/python2.6/SocketServer.py", line 400, in __init__ 
    self.server_bind() 
    File "/usr/lib/python2.6/BaseHTTPServer.py", line 108, in server_bind 
    SocketServer.TCPServer.server_bind(self) 
    File "/usr/lib/python2.6/SocketServer.py", line 411, in server_bind 
    self.socket.bind(self.server_address) 
    File "<string>", line 1, in bind 
socket.error: [Errno 98] Address already in use 

它运作良好,在Windows,甚至在酒。

更新
python2.6问题解决了。
我早些时候在8080和80端口上配置了我的apache服务器以实现django部署。

但python2.5 isntallation仍然存在同样的错误。

+1

检查端口使用#using正在运行的服务下面的命令,'lsof的-i:80'杀死服务,然后再试一次 – shahjapan 2010-09-11 12:52:22

+0

嗯日Thnx似乎我已经配置我的Apache服务器上的一个Django 8080端口提前一段时间:)。只是必须改变这一点。但是,我的phython2.5安装仍然存在相同的错误。 – crodjer 2010-09-11 15:52:58

回答

3

解决这个问题,使SSL插槽源构建Python 2.5 ...只需要使用构建Python的所有依存关系:

apt-get build-dep python

蟒蛇甚至当所有的依赖都没有安装任何错误编译。它只是跳过需要它们的模块并构建python。