Python ModuleNotFoundError:没有名为';gi';-在Heroku部署时
我正在Heroku中部署一个小型Flask应用程序,并面临此错误-ModuleNotFoundError:没有名为“gi”的模块 使用pip的My Requirement.txt:Python ModuleNotFoundError:没有名为';gi';-在Heroku部署时,python,heroku,Python,Heroku,我正在Heroku中部署一个小型Flask应用程序,并面临此错误-ModuleNotFoundError:没有名为“gi”的模块 使用pip的My Requirement.txt: certifi==2019.3.9 chardet==3.0.4 Click==7.0 Flask==1.0.2 gunicorn==19.9.0 idna==2.8 itsdangerous==1.1.0 Jinja2==2.10.1 MarkupSafe==1.1.1 playsound==1.2.2 reque
certifi==2019.3.9
chardet==3.0.4
Click==7.0
Flask==1.0.2
gunicorn==19.9.0
idna==2.8
itsdangerous==1.1.0
Jinja2==2.10.1
MarkupSafe==1.1.1
playsound==1.2.2
requests==2.21.0
ruamel.yaml==0.15.92
urllib3==1.24.2
vext==0.7.3
vext.gi==0.7.0
Werkzeug==0.15.2
pgi==0.0.10.1
我的实际代码:
from flask import render_template
import requests
from playsound import playsound
from app import app
@app.route('/')
@app.route('/index',methods=['GET'])
def index():
counter = 1
user = {'username': 'Mr Test'}
playsound('audio.mp3')
return render_template('index.html', title='Home', user=user)
错误消息:
2019-04-19T17:52:05.415693+00:00 app[web.1]: File "/app/.heroku/python/lib/python3.6/site-packages/playsound.py", line 91, in _playsoundNix
2019-04-19T17:52:05.415694+00:00 app[web.1]: import gi
2019-04-19T17:52:05.415695+00:00 app[web.1]: ModuleNotFoundError: No module named 'gi'
这里至少有三个问题:
Aptfile
将它们安装为Ubuntu软件包,但只需在VirtualNV中安装它们可能更有意义
vext
声称有些软件包不能以这种方式很好地工作,但是让它们在虚拟环境中工作可能是一件更好的事情playsound
似乎可以在本地计算机上运行,但这只是因为服务器与浏览器运行在同一台计算机上playsound
可能在Heroku上根本不起作用,但如果它起作用,它将在亚马逊数据中心的某个服务器上播放声音。你听不到
与GTK3一样,您必须重新考虑应用程序的这一部分这里至少有三个问题:
Aptfile
将它们安装为Ubuntu软件包,但只需在VirtualNV中安装它们可能更有意义
vext
声称有些软件包不能以这种方式很好地工作,但是让它们在虚拟环境中工作可能是一件更好的事情playsound
似乎可以在本地计算机上运行,但这只是因为服务器与浏览器运行在同一台计算机上playsound
可能在Heroku上根本不起作用,但如果它起作用,它将在亚马逊数据中心的某个服务器上播放声音。你听不到
与GTK3一样,您必须重新考虑应用程序的这一部分您使用的是
pip
(带requirements.txt
)还是Pipenv(带Pipfile
和Pipfile.lock
)?请回答您的问题并添加您正在使用的依赖项文件。嘿,克里斯,是的,我正在使用pip with requirement.txt?你想让我在这里发布我的requirement.txt吗?是的,请把你的问题贴在那里。使用{}
按钮或Ctrl+K将其格式化为代码。如果给您带来不便,请原谅我的无知。您使用的是pip
(带requirements.txt
)还是Pipenv(带Pipfile
和Pipfile.lock
)?请回答您的问题并添加您正在使用的依赖项文件。嘿,克里斯,是的,我正在使用pip with requirement.txt?你想让我在这里发布我的requirement.txt吗?是的,请把你的问题贴在那里。使用{}
按钮或Ctrl+K将其格式化为代码。如果给您带来任何不便,请原谅我的无知。非常感谢Chris为您提供的时间和投入。我使用的Vext,正如在多个地方建议的那样,用于修复“gi”未找到问题。我会移除的。对于playsound,我完全同意这没有意义,我的主要目的是在提交post/get请求时在浏览器中播放声音。你能提出一些想法吗?@ArjitSharma,你知道“gi
notfound”问题的根本原因吗?您是在代码的其他地方使用这个模块,还是您的某个库依赖它?同样,如果是GTK3,我怀疑有一个更大的架构问题需要解决。在浏览器中播放声音必须使用JavaScript。请搜索教程并尝试您找到的内容。是的-这是由于playsound-他们使用gi/app/.heroku/python/lib/python3.6/site-packages/playsound.py“.”第91行“-----------------------------我知道,我必须在Flask中使用Javascript和Websocket-只是想避免,如果我能得到一个简单的解决方案。无论如何,非常感谢:-)非常感谢克里斯,感谢你的时间和投入。我使用的Vext,正如在多个地方建议的那样,用于修复“gi”未找到问题。我会移除的。对于playsound,我完全同意这没有意义,我的主要目的是在提交post/get请求时在浏览器中播放声音。你能提出一些想法吗?@ArjitSharma,你知道“gi
notfound”问题的根本原因吗?您是在代码的其他地方使用这个模块,还是您的某个库依赖它?同样,如果是GTK3,我怀疑有一个更大的架构问题需要解决。在浏览器中播放声音必须使用JavaScript。请搜索教程并尝试您找到的内容。是的-它已到期