

### 前提・実現したいこと

BottleでWebページに”Hello World”と表示したいです。

### 発生している問題・エラーメッセージ

①仮想環境を作成  
②Bottleをインストール  
③プログラム（以下に記載）を実行  
④Bottleフレームワークの開発用サーバを起動  
⑤Listening on htto://localhost:8000/と表示され、  
URL部分をブラウザに入力すると、エラーになります。

コマンドプロントに以下のエラーが表示されました。

[code]

    C:\Users\*****(本名)\Desktop\yasashiipython\pybotweb\lib\site- 
    packages\bottle.py:3468:
    Deprecation Warning: Flags not at the start of the expression
    “((?m)[urbURB]?(?:’’(“ (truncated)
    Patterns = [re.comple (p%pattern_vars) for p in patterns]
    C:\Users\*****(本名)\Desktop\yasashiipython\pybotweb\env\lib\site- 
    packages\bottle.py:3468:
    DeprecationWarning: Flags not at the start of the expression '\\[\\{((?:((? 
    m)[urbURB'(truncated)
    patterns = [re.compile(p&pattern_vars) for p in patterns]
    127.0.0.1 - - [07/May/2018 22:2625] “GET / HTTP/1.1” 404 720
    127.0.0.1 - - [07/May/2018 22:2625] “GET /favicon.ico HTTP/1.1” 404 742
    
    sys:1: ResourceWarning: unclosed <socket.socket fd=360, 
    family=AddressFamily.AF_INET,type=Socketkind.SOCK_STREAM, proto=0, laddr= 
    ('127.0.0.1', 8000)
    
[/code]

ブラウザ上のエラー表示

[code]

    Error: 404 Not Found
    Sorry, the requested URL 'http://localhost:8080/' caused an error:
    
[/code]

### 該当のソースコード

[code]

    from bottle import route, run
    
    
    @route('/hello')
    def hello():
    return 'Hello World!'
    
    run(host='localhost', port=8000, debug=True)
    
[/code]

### 試したこと

このエラーが出現する前に、もう１つエラーが出ていました。  
調べてみると、「マシン名が日本語の文字列だと発生するエラー」だったので、  
マシン名を変更して、そのまま再起動しました。エラー名は控えていません。

ホスト名を8080、8000と試したが、エラー。

### 補足情報（FW/ツールのバージョンなど）

windows8.1 64bit  
Python3.6.5


CC BY-SA 4.0
2018-05-08T07:39:45.600
43864
2018-05-08T08:22:59.087
2018-05-08T08:00:40.457
13022
28453
question
python bottle
BottleでWebページにHello Worldと表示できない。


ログを見るとBottleは動作していて、デバッガが不正なURLへのアクセスを検知しています。  
`127.0.0.1 - - [07/May/2018 22:2625] “GET / HTTP/1.1” 404 720`

[teratailの回答](https://teratail.com/questions/125211)と重複しますが、`@route('/hello')`と記述した場合、URLのPATHに/helloを指定する必要があります。  
下記のURLにアクセスして`Hello World!`が表示されることを確認してください。

<http://localhost:8000/hello>

もしくは、下記のように`@route('/')`に書き換えることで <http://localhost:8000/> で`Hello
World!`を表示できます。

[code]

    from bottle import route, run
    
    @route('/')
    def hello():
        return 'Hello World!'
    
    run(host='localhost', port=8000, debug=True)
    
[/code]

[DeprecationWarning](https://docs.python.jp/3/library/exceptions.html#DeprecationWarning)は、Bottle内のコードで廃止予定の機能が使われたことによる警告です。  
経験上、この警告が出ても私の環境ではBottle自体は動作しています。


CC BY-SA 4.0
2018-05-08T08:22:59.087
43866
2018-05-08T08:22:59.087
9820
43864
answer