2016-05-26 1 views
3

Изучение Python 2.7 и попытка запустить его на Vagrant.Проблема с importError: нет модуля с именем BaseHTTPServer

шаги: Бродячие до Vagrant SSH команду Run питон webserver.py

Проблема при запуске этой команды, он выдаёт ImportError: Нет модуль с именем BaseHTTPServer. Эта проблема связана с pg_config.sh? Заранее благодарим вас за помощь.

Я проверил свой каталог python 2.7. Кажется, BaseHTTPServer.py.

from BaseHTTPServer import BaseHTTPRequestHandler, BaseHTTPServer 



class WebServerHandler(BaseHTTPRequestHandler): 

def do_Get(self): 
    if self.path.endswith("/hello"): 
     self.send_response(200) 
     self.send_header('Content-type', 'text/html') 
     self.end_header() 
     message = "" 
     message += "<html><body>Hello!</body></html>" 
     self.wfile.write(message) 
     print message 
     return 
    else: 
     self.send_error(404,'File Not Found: %s' % self.path) 


def main(): 
try: 
    port = 8080 
    server = HTTPServer(('', port), WebServerHandler) 
    print "Web Server running on port %s" % port 
    server.serveforever() 
except KeyboardInterrupt: 
    print " ^C entered, stopping web server...." 
    server.socket.close() 

if _name_ == '__main__': 
main() 

ответ

2

Вы уверены, что питон вы работаете/тестирование из командной строки тот же питон, что ваш скрипт работает?

i.e. BaseHTTPServer может присутствовать в одной установке, но не другой.

К примеру, на моей машине:

$ which python2.7 
/usr/bin/python2.7 

Ваш «питон» (в командной строке вы указали) так же, как «python2.7»?

$ python 
Python 2.7.10 (default, Oct 23 2015, 19:19:21) 
[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import BaseHTTPServer 
>>> BaseHTTPServer 
<module 'BaseHTTPServer' from '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/BaseHTTPServer.pyc'> 

Пробуйте модуль, который существует, чтобы гарантировать, что путь - это то, что вы ожидаете.

+0

Благодарности @Tyler А. бега «который питон» дал мне /usr/bin/python2.7.6. Ты прав. Это не в той же командной строке, что и «python 2.7.6». Теперь я должен выяснить свой следующий шаг. – swissed

0

В питона раньше v3 вам нужно запустить сервер HTTP, как

python -m SimpleHTTPServer 8069 
Смежные вопросы