我有一個基本的heroku 應用程序,如果我的主應用程式檔案中不包含from src.rtctokenbuilder2 import rtctokenbuilder, role_publisher, time ,該應用程式運作得很好。我想新增一個資料夾 src,其中包含 agora rtc 令牌產生的程式碼。要新增程式碼,我只需從下面的連結中的 github 下載程式碼,然後將 src 資料夾複製並貼上到我的 python 專案中。我需要的 src 資料夾位於「dynamickey/agoradynamickey/python3/src」。一旦我將 src 資料夾放在同一目錄中,我就會使用上面的導入語句來導入令牌生成。
現在我做git add accesstoken.py accesstoken2.py chattokenbuilder2.py dynamickey.py dynamickey2.py dynamickey3.py dynamickey4.py dynamickey5.py 東西.py signalingtoken.py education_token_builder.py fpa_token_builder.py utils.py
#我提交新增內容並執行git push heroku master
透過執行此操作,heroku git 更新不會出現錯誤,並且表示該網站已更新。但是,當我嘗試查看已產生的範例令牌時,該網站顯示錯誤並表示使用 heroku 日誌來追蹤錯誤。日誌的輸出很長,但包括 from src.rtctokenbuilder2 import rtctokenbuilder、role_publisher、時間。 modulenotfounderror:沒有名為「src」的模組
#當我添加 src 資料夾並嘗試使用它時,我做錯了什麼?我的設定沒有任何問題,因為沒有上面的導入一切都正常。
https://github.com/agoraio/tools
hustlerserver.py
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>'
設定檔
web: gunicorn hustlerserver:app
需求.txt
Flask==3.0.1 gunicorn==21.2.0 Jinja2==3.1.3
#確保src
目錄下有__init__.py
檔案。該檔案可以為空,但它的存在使得目錄成為 python 套件。
在 hustlerserver.py
中,您將從 src.rtctokenbuilder2
匯入。確保此路徑正確,並且 src
目錄中存在 rtctokenbuilder2.py
檔案。
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(): # rest of your code
進行這些更改後,使用 git add .
添加所有更改,提交它們,然後推送到 heroku。
以上是在嵌套資料夾 python 中新增程式碼時 Heroku 出錯的詳細內容。更多資訊請關注PHP中文網其他相關文章!