MKE0108 commited on
Commit
115a167
·
1 Parent(s): 10925d6
Files changed (4) hide show
  1. Dockerfile +6 -8
  2. app.py +9 -3
  3. requirements.txt +2 -1
  4. test.ipynb +7 -6
Dockerfile CHANGED
@@ -3,14 +3,12 @@
3
 
4
  FROM python:3.9
5
 
6
- RUN useradd -m -u 1000 user
7
- USER user
8
- ENV PATH="/home/user/.local/bin:$PATH"
9
 
10
- WORKDIR /app
11
 
12
- COPY --chown=user ./requirements.txt requirements.txt
13
- RUN pip install --no-cache-dir --upgrade -r requirements.txt
14
 
15
- COPY --chown=user . /app
16
- CMD ["gunicorn","-w","4", "-b","0.0.0.0:7860","app:app"]
 
 
3
 
4
  FROM python:3.9
5
 
6
+ WORKDIR /code
 
 
7
 
8
+ COPY ./requirements.txt /code/requirements.txt
9
 
10
+ RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
 
11
 
12
+ COPY . .
13
+
14
+ CMD [ "gunicorn", "-b", "0.0.0.0:7860", "app:app" ]
app.py CHANGED
@@ -1,7 +1,12 @@
1
- from flask import Flask, request, jsonify
2
- from flask import render_template
 
3
  import pandas as pd
4
 
 
 
 
 
5
  app = Flask(__name__)
6
 
7
  def get_tags(_H,_L,_C,last_H,last_L,last_C):
@@ -68,7 +73,8 @@ def get_stock_info():
68
  return jsonify({"error": str(e)}), 500
69
  @app.route('/')
70
  def index():
71
- return render_template('index.html')
 
72
 
73
  # if __name__ == '__main__':
74
  # app.run(debug=True)
 
1
+
2
+ from flask import Flask, request, jsonify, render_template
3
+ from flask_cors import CORS # 新增這一行
4
  import pandas as pd
5
 
6
+ app = Flask(__name__)
7
+ CORS(app) # 允許所有來源請求 (解決 CORS 問題)
8
+
9
+
10
  app = Flask(__name__)
11
 
12
  def get_tags(_H,_L,_C,last_H,last_L,last_C):
 
73
  return jsonify({"error": str(e)}), 500
74
  @app.route('/')
75
  def index():
76
+ # return render_template('index.html')
77
+ return 'Hello World!'
78
 
79
  # if __name__ == '__main__':
80
  # app.run(debug=True)
requirements.txt CHANGED
@@ -5,4 +5,5 @@ requests
5
  lxml
6
  html5lib
7
  beautifulsoup4
8
- gunicorn
 
 
5
  lxml
6
  html5lib
7
  beautifulsoup4
8
+ gunicorn
9
+ flask-cors
test.ipynb CHANGED
@@ -2,7 +2,7 @@
2
  "cells": [
3
  {
4
  "cell_type": "code",
5
- "execution_count": 1,
6
  "metadata": {},
7
  "outputs": [
8
  {
@@ -16,8 +16,9 @@
16
  "Requirement already satisfied: lxml in /Users/mke0108/Documents/股票/網站/.venv/lib/python3.9/site-packages (from -r requirements.txt (line 5)) (5.3.1)\n",
17
  "Requirement already satisfied: html5lib in /Users/mke0108/Documents/股票/網站/.venv/lib/python3.9/site-packages (from -r requirements.txt (line 6)) (1.1)\n",
18
  "Requirement already satisfied: beautifulsoup4 in /Users/mke0108/Documents/股票/網站/.venv/lib/python3.9/site-packages (from -r requirements.txt (line 7)) (4.13.3)\n",
19
- "Collecting gunicorn (from -r requirements.txt (line 8))\n",
20
- " Downloading gunicorn-23.0.0-py3-none-any.whl.metadata (4.4 kB)\n",
 
21
  "Requirement already satisfied: python-dateutil>=2.8.2 in /Users/mke0108/Documents/股票/網站/.venv/lib/python3.9/site-packages (from pandas->-r requirements.txt (line 1)) (2.9.0.post0)\n",
22
  "Requirement already satisfied: pytz>=2020.1 in /Users/mke0108/Documents/股票/網站/.venv/lib/python3.9/site-packages (from pandas->-r requirements.txt (line 1)) (2025.1)\n",
23
  "Requirement already satisfied: tzdata>=2022.7 in /Users/mke0108/Documents/股票/網站/.venv/lib/python3.9/site-packages (from pandas->-r requirements.txt (line 1)) (2025.1)\n",
@@ -38,9 +39,9 @@
38
  "Requirement already satisfied: packaging in /Users/mke0108/Documents/股票/網站/.venv/lib/python3.9/site-packages (from gunicorn->-r requirements.txt (line 8)) (24.2)\n",
39
  "Requirement already satisfied: zipp>=3.20 in /Users/mke0108/Documents/股票/網站/.venv/lib/python3.9/site-packages (from importlib-metadata>=3.6->flask->-r requirements.txt (line 3)) (3.21.0)\n",
40
  "Requirement already satisfied: MarkupSafe>=2.0 in /Users/mke0108/Documents/股票/網站/.venv/lib/python3.9/site-packages (from Jinja2>=3.1.2->flask->-r requirements.txt (line 3)) (3.0.2)\n",
41
- "Downloading gunicorn-23.0.0-py3-none-any.whl (85 kB)\n",
42
- "Installing collected packages: gunicorn\n",
43
- "Successfully installed gunicorn-23.0.0\n"
44
  ]
45
  }
46
  ],
 
2
  "cells": [
3
  {
4
  "cell_type": "code",
5
+ "execution_count": 2,
6
  "metadata": {},
7
  "outputs": [
8
  {
 
16
  "Requirement already satisfied: lxml in /Users/mke0108/Documents/股票/網站/.venv/lib/python3.9/site-packages (from -r requirements.txt (line 5)) (5.3.1)\n",
17
  "Requirement already satisfied: html5lib in /Users/mke0108/Documents/股票/網站/.venv/lib/python3.9/site-packages (from -r requirements.txt (line 6)) (1.1)\n",
18
  "Requirement already satisfied: beautifulsoup4 in /Users/mke0108/Documents/股票/網站/.venv/lib/python3.9/site-packages (from -r requirements.txt (line 7)) (4.13.3)\n",
19
+ "Requirement already satisfied: gunicorn in /Users/mke0108/Documents/股票/網站/.venv/lib/python3.9/site-packages (from -r requirements.txt (line 8)) (23.0.0)\n",
20
+ "Collecting flask-cors (from -r requirements.txt (line 9))\n",
21
+ " Downloading Flask_Cors-5.0.0-py2.py3-none-any.whl.metadata (5.5 kB)\n",
22
  "Requirement already satisfied: python-dateutil>=2.8.2 in /Users/mke0108/Documents/股票/網站/.venv/lib/python3.9/site-packages (from pandas->-r requirements.txt (line 1)) (2.9.0.post0)\n",
23
  "Requirement already satisfied: pytz>=2020.1 in /Users/mke0108/Documents/股票/網站/.venv/lib/python3.9/site-packages (from pandas->-r requirements.txt (line 1)) (2025.1)\n",
24
  "Requirement already satisfied: tzdata>=2022.7 in /Users/mke0108/Documents/股票/網站/.venv/lib/python3.9/site-packages (from pandas->-r requirements.txt (line 1)) (2025.1)\n",
 
39
  "Requirement already satisfied: packaging in /Users/mke0108/Documents/股票/網站/.venv/lib/python3.9/site-packages (from gunicorn->-r requirements.txt (line 8)) (24.2)\n",
40
  "Requirement already satisfied: zipp>=3.20 in /Users/mke0108/Documents/股票/網站/.venv/lib/python3.9/site-packages (from importlib-metadata>=3.6->flask->-r requirements.txt (line 3)) (3.21.0)\n",
41
  "Requirement already satisfied: MarkupSafe>=2.0 in /Users/mke0108/Documents/股票/網站/.venv/lib/python3.9/site-packages (from Jinja2>=3.1.2->flask->-r requirements.txt (line 3)) (3.0.2)\n",
42
+ "Downloading Flask_Cors-5.0.0-py2.py3-none-any.whl (14 kB)\n",
43
+ "Installing collected packages: flask-cors\n",
44
+ "Successfully installed flask-cors-5.0.0\n"
45
  ]
46
  }
47
  ],