当我运行git push heroku master
将应用程序部署到Heroku时,我不断收到错误消息
Heroku Push被拒绝,无法编译Python应用程序。找不到满足要求的版本
问题是requirements.txt
我制作的文件
pip freeze > requirements.txt
转储了我的系统范围内的Python库,而不仅仅是我的库virtualenv
。这很奇怪,因为我从活动的virtualenv中冻结了这些要求-这种行为不应该发生。
virtualenv
Windows上的Windows总是让我放慢速度,所以我准备尝试一个新的环境管理器。
我想使用,conda
但正在努力将其部署到Heroku。我遵循Heroku关于conda构建包的说明,只是为了在构建时获得模糊/无益的错误。
如何使用Conda环境将Python应用程序部署到Heroku?
Heroku不在乎您是使用环境virtualenv
还是conda
管理环境。使用一个或另一个与部署过程几乎无关。
不要理会Conda Environment
Buildpack的
说明,因为这些说明是用于部署远程conda
环境的,而这并不是您要尝试的。您,我的朋友,正在尝试部署远程 your_app 环境。
conda
:$ mkdir dash_app_example
$ cd dash_app_example
$ git init # initializes an empty git repo
environment.yml
文件dash_app_example
:name: dash_app #Environment name
dependencies:
- python=3.6
- pip:
- dash
- dash-renderer
- dash-core-components
- dash-html-components
- plotly
- gunicorn # for app deployment
environment.yml
:$ conda env create
$ source activate dash_app #Writing source is not required on Windows
当前应该在dash_app中:
$ conda info --envs #Current environment is noted by a *
app.py
,requirements.txt
以及Procfile
:app.py
import dash
import dash_core_components as dcc
import dash_html_components as html
import os
app = dash.Dash(__name__)
server = app.server
app.css.append_css({"external_url": "https://codepen.io/chriddyp/pen/bWLwgP.css"})
app.layout = html.Div([
html.H2('Hello World'),
dcc.Dropdown(
id='dropdown',
options=[{'label': i, 'value': i} for i in ['LA', 'NYC', 'MTL']],
value='LA'
),
html.Div(id='display-value')
])
@app.callback(dash.dependencies.Output('display-value', 'children'),
[dash.dependencies.Input('dropdown', 'value')])
def display_value(value):
return 'You have selected "{}"'.format(value)
if __name__ == '__main__':
app.run_server(debug=True)
Procfile
web: gunicorn app:server
requirements.txt
:描述您的Python依赖关系。您可以通过$ pip freeze > requirements.txt
在命令行上运行来自动填充此文件。
- dash_app_example
--- app.py
--- environment.yml
--- Procfile
--- requirements.txt
请注意,此目录中没有环境数据。那是因为conda
与virtualenv
将应用程序目录整齐地存储在所有位置不同,所有环境都不一样。无需.gitignore
这些文件…它们不在这里!
$ heroku create my-dash-app # change my-dash-app to a unique name
$ git add . # add all files to git
$ git commit -m 'Initial app boilerplate'
$ git push heroku master # deploy code to heroku
$ heroku ps:scale web=1 # run the app with a 1 heroku "dyno"
资料来源:
virtualenv
)问题内容: 并且都是Python软件包管理器。当两个存储库中都存在一个程序包时,合适的选择是什么?例如,Django可以安装其中之一,但是两者之间的区别是几个依赖项(conda- forge还有更多)。没有关于这些差异的解释,甚至没有简单的自述文件。 应该使用哪一个?康达或康达伪造?有关系吗? 问题答案: 简短的答案是,根据我的经验,通常使用哪个都无关紧要。 长答案: 所以是可以从其中安装的软件包
这是我第一次在Heroku上部署应用程序。我用Python构建了一个Dash应用程序,在localhost中运行良好,我能够按照Dash教程在Heroku上成功构建和部署它,尽管我尝试启动它时应用程序没有加载(相反,它会在日志中产生错误)。 我使用的是Windows机器,还必须添加并使用这个自定义构建包([位于此处][1])才能使用Git LFS,因为我的一个数据文件太大,无法放在Git存储库中。
问题内容: 我正在尝试在Heroku上使用Flask开发我的第一个“大型”应用程序,并尝试将此处的基本教程与以下说明结合:https : //devcenter.heroku.com/articles/python与以下说明:http:// flask.pocoo.org/docs/patterns/packages/#larger- applications。它在本地与“先行启动”一起工作,但是
我已经尝试了许多配置来部署我的Restful Springboot2应用程序到heroku使用proplfile无济于事。我已经尝试了这里的一些建议/解决方案。 Procfile: Heroku日志:。 非常感谢任何对此的帮助。
我试图将Spring Boot应用程序部署到Heroku,但我无法做到这一点。我的应用程序会自动检测为"heroku-maven-plugin",但我想将其部署为Java应用程序。 我怎样才能做到这一点?
我将在Weblogic 11g上部署一个新的Spring JMS应用程序。将没有web组件的Spring应用程序部署到Weblogic的公认方式是什么? 从历史上看,我一直在开发的应用程序使用WAR来加载应用程序上下文。现在这似乎不是一个可以接受的解决方案,因为这个新应用程序没有任何网络组件。将部署包装在EJB中似乎也是不可接受的,因为Spring应该是EJB的替代品。RAR似乎也不合适,因为新应