ホームページ  >  記事  >  バックエンド開発  >  入れ子になったフォルダーPythonにコードを追加するときにHerakuエラーが発生する

入れ子になったフォルダーPythonにコードを追加するときにHerakuエラーが発生する

WBOY
WBOY転載
2024-02-05 23:24:08827ブラウズ

在嵌套文件夹 python 中添加代码时 Heroku 出错

質問の内容

基本的な Heroku アプリがあり、メインのアプリ ファイルに from src.rtctokenbuilder2 import rtctokenbuilder、role_publisher、が含まれていない場合、 time 、アプリケーションは正常に動作します。 agora rtc トークンで生成されたコードを含むフォルダー src を追加したいと考えています。コードを追加するには、下のリンクにある github からコードをダウンロードし、src フォルダーをコピーして Python プロジェクトに貼り付けました。必要な src フォルダーは「dynamickey/agoradynamickey/python3/src」にあります。同じディレクトリに src フォルダーを作成したら、上記の import ステートメントを使用してトークン生成をインポートします。

今、私はgit add accesstoken.py accesstoken2.py chattokenbuilder2.pydynamickey.pydynamickey2.pydynamickey3.pydynamickey4.pydynamickey5.pypacker.py rtctokenbuilder.py rtctokenbuilder2.py rtmtokenbuilder.py rtmtokenbuilder2.py signalingtoken.py education_token_builder.py fpa_token_builder.py utils.py

追加をコミットして git Push heroku master

を実行します

これを行うと、heroku git update でエラーが発生せず、サイトが更新されたことが示されます。ただし、生成されたサンプル トークンを表示しようとすると、Web サイトにエラーが表示され、heroku ログを使用してエラーを追跡するように指示されます。ログの出力は非常に長くなりますが、from src.rtctokenbuilder2 import rtctokenbuilder、role_publisher、time が含まれています。 modulenotfounderror: 'src'

という名前のモジュールがありません

src フォルダーを追加して使用しようとすると、何が間違っているのでしょうか?上記のインポートなしですべてが正常に動作するため、セットアップに問題はありません。

https://github.com/agoraio/tools

ハスラーサーバー.py

リーリー

設定ファイル

リーリー

要件.txt

from flask import flask, request
from src.rtctokenbuilder2 import rtctokenbuilder, role_publisher, time

app = flask(__name__)

@app.route('/process_data', methods=['get'])
def process_data():
   x = int(request.args.get('x', 0))
   y = request.args.get('y', 'default')
  
   appid = "test"
   appcertificate = "test"
   expirationtimeinseconds = 3600

   channelname = y
   uid = x  
   token = "random tok"

   current_timestamp = int(time.time())
   expired_ts = current_timestamp + expirationtimeinseconds

   token = rtctokenbuilder.build_token_with_uid(appid, appcertificate, channelname, uid, role_publisher, token_expire=expired_ts, privilege_expire=expired_ts)
   
   result = f'token is: {token}'
   return f'<h1>{result}</h1>'

正解


src ディレクトリに __init__.py ファイルがあることを確認してください。このファイルは空でもかまいませんが、このファイルが存在するとディレクトリが Python パッケージになります。

hustlerserver.py では、src.rtctokenbuilder2 からインポートします。このパスが正しいこと、および rtctokenbuilder2.py ファイルが src ディレクトリに存在することを確認してください。

リーリー

これらの変更を行った後、git add . を使用してすべての変更を追加し、コミットして、heroku にプッシュします。

以上が入れ子になったフォルダーPythonにコードを追加するときにHerakuエラーが発生するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。