我正在部署一个Django应用程序使用Heroku。
当我跑的时候
git push heroku master在我的终端中,我得到以下错误:
找不到满足需求命令- not ==0.3“的版本
当我跑的时候
sudo apt-get install command-not-found我发现没有找到的命令是20.04.2版本。然而,pip freeze告诉我,command-not-found是0.3版。
发布于 2020-08-29 16:50:39
command-not-found 在PyPI上似乎不存在,但它是Ubuntu中的一个包和Debian存储库。它看起来不像应用程序应该依赖的东西,当然也不属于Heroku。
我怀疑
pip freeze > requirements.txt,就可以在事后创建依赖关系文件。这是一个反模式,它将导致应用程序实际上不需要包含在requirements.txt中的几个包。在本例中,它甚至包括来自系统包的Python包,而不是从PyPI安装的。您的requirements.txt应该只包含实际的依赖项。
不要在事实发生后用pip freeze创建它,而是将内容添加到该文件中,并使用生产中使用的相同的pip install -r requirements.txt命令将它们安装到虚拟环境中。我也非常强烈地敦促您使用虚拟环境。
在这种情况下,我建议您编辑您的requirements.txt并删除任何您实际上不需要的内容,提交和重新部署。
https://stackoverflow.com/questions/63644773
复制相似问题