15

私はプログラミングに不慣れで、フラスコのチュートリアルを実行しようとしました。 http://flask.pocoo.org/docs/tutorial/

アプリを実行しようとすると、この部分(githubのreadmeから)で立ち往生しています: https ://github.com/mitsuhiko/flask/tree/master/examples/flaskr/

Pythonシェルを起動し、これを実行します。

from flaskr import init_db; init_db()

Pythonシェルでコマンドを実行しようとすると、次のエラーが発生します。

Import error: No module named flaskr

また、アプリをローカルで実行しようとすると、次のエラーが発生します。

sqlite3.OperationalError
OperationalError: unable to open database file

私は数時間解決策を探していましたが、役に立ちませんでした。私がチェックできることについて何か考えはありますか?ありがとうございました。

4

9 に答える 9

24

私のためにそれを修正したものは変化していました

export FLASK_APP=flaskr

export FLASK_APP=flaskr.py

ここから撮影

于 2016-07-12T06:31:43.340 に答える
5

必要なことを実行する最も簡単な方法は、flaskrと同じフォルダーでPythonシェルを起動することです。

# I'm assuming that python is available on the command line
$ cd path/to/flaskr
$ python

# Python then runs and you can import flaskr
>>> from flaskr import init_db; init_db()
>>> exit()

秘訣は、Pythonを実行すると、モジュールとパッケージの特定の数の場所のみを検索することです。実行すると、次の場所を確認できます。

>>> from sys import path
>>> for fp in path:
...     print fp

Pythonインタープリターから。フラスコへのパスがそのリストにない場合、フラスコをインポートすることはできません。デフォルトでは、Pythonは開始されたディレクトリを検索パスに追加します(これが、flaskrを含むディレクトリでPythonを開始する理由です)。

実行init_dbすると、アプリケーションを実行してすべてが機能していることを確認できるはずです。

于 2012-08-25T01:19:50.240 に答える
4

Flask <0.11のバージョンを使用している場合、flaskコマンドは使用できません。flask-cliその場合はパッケージをインストールしてください。

pip install flask-cli
于 2016-06-08T19:17:01.243 に答える
2

これを見つけた他の人には、次のようにアプリinit_db()の最後にメインエグゼキュータを追加します。flaksr

if __name__ == '__main__':
    init_db()
    app.run()

これでsqliteエラーが解決され、手動で実行する必要がなくなりますinit_db()

于 2013-07-22T20:11:53.797 に答える
2

私たちが言うとき:

export FLASK_APP=flaskr

決してpythonはパッケージ"flaskr.py"が存在する場所を理解しません。

この問題を解決する方法の1つは、「flaskr.py」が存在する正しいパスを選択することです。たとえば、現在の作業ディレクトリをファイルが存在する場所に変更し、次のようにします。

export PYTHONPATH=`pwd`

その後、どこでも「フラスコラン」を実行できます。

PS:フラスコのチュートリアルが壊れているようです。:)

于 2016-09-27T09:50:50.487 に答える
0

ショーンビエラの答えは非常に良かったですが、私は同じ問題に直面していたことを付け加えたいので、解決策に追加したいと思います。同じflaskrフォルダーからPythonを実行するだけでは、私には十分ではありませんでした。次のように、「。venv / bin / activate」コマンドを実行して、$Pythonを実行する前にFlaskをアクティブ化する必要もありました。

$ cd path/to/flaskr
#active 
$ . venv/bin/activate 
(venv)$ python

# Python then runs and you can import flaskr
>>> from flaskr import init_db; 
>>> init_db()
>>> exit()
$

余分な情報がお役に立てば幸いです。

于 2014-02-23T23:17:22.567 に答える
0
$set FLASK_APP=flaskr
$python -m flask initdb
$python -m flask run
于 2016-11-28T13:23:15.553 に答える
0

これを試して:

OS:Windows

(venv)$pip install -I --no-deps Flask
(venv)$set FLASK_APP=flaskr
(venv)$set FLASK_DEBUG=1
(venv)$flask run

説明:

$where flaskフラスコ.exeを見つけるのに役立ちます

virtual-envがsystem-envからflaskを継承する場合

(venv)$where flask
>> /system/environment/path/to/flask.exe

(root)$where flask
>> /system/environment/path/to/flask.exe

明らかに、system-env用にインストールされているflask.exeを呼び出します

(venv)$pip install -I Flaskvirtual-env用のフラスコを強制的に(再)インストールすることができます

(venv)$pip install -I Flask
(venv)$where flask
>> /virtual/environment/path/to/flask.exe
>> /system/environment/path/to/flask.exe
于 2018-03-25T17:20:32.163 に答える
0

私は同じ問題を抱えています、そして私はそれを修正しました。ステップ1:

  1. sudo ln -sf /usr/bin/python3.4 /usr/bin/python
  2. easy_install_3.4フラスコ。
  3. PYTHONPATH =pwd

ステップ2:easy_install_3.4を使用してfalskをインストールします。ステップ3:

見出し

于 2018-11-18T03:48:29.920 に答える