文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-02-06 05:46

关注

问题内容

我有一个基本的 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 packer.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 更新不会出现错误,并且表示该站点已更新。但是,当我尝试查看已生成的示例令牌时,该网站显示错误并表示使用 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'

{result}

'

配置文件

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 出错的详细内容,更多请关注编程网其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 资料下载
  • 历年真题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯