1

qrcodeという非標準の App Engine パッケージが必要です。これは、App Engine でサポートされている PIL のみに依存する純粋な Python ライブラリです。

私のフォルダ構造は次のとおりです。

app
|--- handlers/
|------ my_handler.py
|--- util/
|------ __init__.py
|------ qrcode/
|--------- __init__.py
|--------- qrcode/
|------------ __init__.py
|------------ other lib files
|--- index.py

On index.pyI map to my_handler.pyand on Iハンドラー クラスの get メソッドの 1 つの内部でmy_handler.py呼び出します。from util.qrcode import qrcode問題は、私がファイルに乗ることImportError: No module named qrcode.mainです__init__.py

__init__.py:

from qrcode.main import QRCode, make
from qrcode.constants import *
from qrcode import image

qrcode.mainパッケージ内にある1つの.pyファイルですqrcode(パッケージ全体を表示するには、ここにリンクされているリポジトリを確認してください)

私はすでに見ましたが、何が間違っているのかわかりません。よろしくお願いします。ありがとう!

私が検索したその他の質問:
AppEngine サーバーは atom モジュールを
インポートできません Python でカスタム パッケージをインポートします Google アプリ エンジン
Python でネストされたモジュールをインポートします

4

2 に答える 2

0

Python パスには、app.yaml が存在するディレクトリが含まれます。そこにappモジュールがある場合は、絶対インポートを使用する必要があります。

# in index.py
from app.handlers import my_handler

# in my_handler.py
from app.util.qrcode import qrcode
于 2013-07-23T18:21:44.217 に答える
0

何らかの理由で (わかりません)、パッケージはそれ自体の名前を認識していません。それを機能させるには、パッケージ ファイルのqrcodeへのすべての参照を削除する必要がありました。私の新しい__init__.pyインポートは次のようになりました。

from main import QRCode, make
from constants import *
import image

すべての .py ファイルのインポートを変更する必要があり、に含める必要がありPILましたapp.yaml(以前は忘れていましたが、このエラー =P に直面するほどには至りませんでした)。

今でも画像を生成できませんが、インポートエラーはもうないので、質問は答えられたと思います. ありがとうございました!

于 2013-07-27T21:01:56.197 に答える