Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

启动报错:sqlite3.OperationalError: no such table: metadata #205

Closed
xinmans opened this issue Nov 9, 2022 · 13 comments
Closed

启动报错:sqlite3.OperationalError: no such table: metadata #205

xinmans opened this issue Nov 9, 2022 · 13 comments
Labels
dependencies Pull requests that update a dependency file

Comments

@xinmans
Copy link

xinmans commented Nov 9, 2022

scrapy==1.8.0
scrapyd==1.2.1
scrapyd-client
scrapy-splash==0.7.2
scrapydweb==1.4.0
logparser

logs
[2022-11-09 15:29:13,804] INFO in apscheduler.scheduler: Scheduler started
[2022-11-09 15:29:13,814] INFO in scrapydweb.run: ScrapydWeb version: 1.4.0
[2022-11-09 15:29:13,814] INFO in scrapydweb.run: Use 'scrapydweb -h' to get help
[2022-11-09 15:29:13,814] INFO in scrapydweb.run: Main pid: 18
[2022-11-09 15:29:13,814] DEBUG in scrapydweb.run: Loading default settings from /usr/local/lib/python3.7/site-packages/scrapydweb/default_settings.py
Traceback (most recent call last):
File "/usr/local/bin/scrapydweb", line 8, in
sys.exit(main())
File "/usr/local/lib/python3.7/site-packages/scrapydweb/run.py", line 32, in main
app = create_app()
File "/usr/local/lib/python3.7/site-packages/scrapydweb/init.py", line 81, in create_app
handle_db(app)
File "/usr/local/lib/python3.7/site-packages/scrapydweb/init.py", line 123, in handle_db
db.create_all()
File "/usr/local/lib/python3.7/site-packages/flask_sqlalchemy/extension.py", line 868, in create_all
self._call_for_binds(bind_key, "create_all")
File "/usr/local/lib/python3.7/site-packages/flask_sqlalchemy/extension.py", line 839, in _call_for_binds
engine = self.engines[key]
File "/usr/local/lib/python3.7/site-packages/flask_sqlalchemy/extension.py", line 628, in engines
app = current_app._get_current_object() # type: ignore[attr-defined]
File "/usr/local/lib/python3.7/site-packages/werkzeug/local.py", line 513, in _get_current_object
raise RuntimeError(unbound_message) from None
RuntimeError: Working outside of application context.

This typically means that you attempted to use functionality that needed
the current application. To solve this, set up an application context
with app.app_context(). See the documentation for more information.
[2022-11-09 15:29:13,834] INFO in sqlalchemy.engine.Engine: BEGIN (implicit)
2022-11-09 15:29:13,834 INFO sqlalchemy.engine.Engine BEGIN (implicit)
[2022-11-09 15:29:13,838] INFO in sqlalchemy.engine.Engine: SELECT metadata.id AS metadata_id, metadata.version AS metadata_version, metadata.last_check_update_timestamp AS metadata_last_check_update_timestamp, metadata.main_pid AS metadata_main_pid, metadata.logparser_pid AS metadata_logparser_pid, metadata.poll_pid AS metadata_poll_pid, metadata.pageview AS metadata_pageview, metadata.url_scrapydweb AS metadata_url_scrapydweb, metadata.url_jobs AS metadata_url_jobs, metadata.url_schedule_task AS metadata_url_schedule_task, metadata.url_delete_task_result AS metadata_url_delete_task_result, metadata.username AS metadata_username, metadata.password AS metadata_password, metadata.scheduler_state AS metadata_scheduler_state, metadata.jobs_per_page AS metadata_jobs_per_page, metadata.tasks_per_page AS metadata_tasks_per_page, metadata.jobs_style AS metadata_jobs_style
FROM metadata
WHERE metadata.version = ?
LIMIT ? OFFSET ?
2022-11-09 15:29:13,838 INFO sqlalchemy.engine.Engine SELECT metadata.id AS metadata_id, metadata.version AS metadata_version, metadata.last_check_update_timestamp AS metadata_last_check_update_timestamp, metadata.main_pid AS metadata_main_pid, metadata.logparser_pid AS metadata_logparser_pid, metadata.poll_pid AS metadata_poll_pid, metadata.pageview AS metadata_pageview, metadata.url_scrapydweb AS metadata_url_scrapydweb, metadata.url_jobs AS metadata_url_jobs, metadata.url_schedule_task AS metadata_url_schedule_task, metadata.url_delete_task_result AS metadata_url_delete_task_result, metadata.username AS metadata_username, metadata.password AS metadata_password, metadata.scheduler_state AS metadata_scheduler_state, metadata.jobs_per_page AS metadata_jobs_per_page, metadata.tasks_per_page AS metadata_tasks_per_page, metadata.jobs_style AS metadata_jobs_style
FROM metadata
WHERE metadata.version = ?
LIMIT ? OFFSET ?
2022-11-09 15:29:13,838 INFO sqlalchemy.engine.Engine [generated in 0.00034s] ('1.4.0', 1, 0)
[2022-11-09 15:29:13,838] INFO in sqlalchemy.engine.Engine: [generated in 0.00034s] ('1.4.0', 1, 0)
[2022-11-09 15:29:13,839] INFO in sqlalchemy.engine.Engine: ROLLBACK
2022-11-09 15:29:13,839 INFO sqlalchemy.engine.Engine ROLLBACK
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1901, in _execute_context
cursor, statement, parameters, context
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
cursor.execute(statement, parameters)
sqlite3.OperationalError: no such table: metadata

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/scrapydweb/common.py", line 85, in handle_metadata
metadata = Metadata.query.filter_by(version=version).first()
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 2823, in first
return self.limit(1)._iter().first()
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 2918, in _iter
execution_options={"_sa_orm_load_options": self.load_options},
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 1714, in execute
result = conn._execute_20(statement, params or {}, execution_options)
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1705, in _execute_20
return meth(self, args_10style, kwargs_10style, execution_options)
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/elements.py", line 334, in _execute_on_connection
self, multiparams, params, execution_options
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1582, in _execute_clauseelement
cache_hit=cache_hit,
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1944, in execute_context
e, statement, parameters, cursor, context
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 2125, in handle_dbapi_exception
sqlalchemy_exception, with_traceback=exc_info[2], from
=e
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 208, in raise

raise exception
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1901, in _execute_context
cursor, statement, parameters, context
File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: metadata
[SQL: SELECT metadata.id AS metadata_id, metadata.version AS metadata_version, metadata.last_check_update_timestamp AS metadata_last_check_update_timestamp, metadata.main_pid AS metadata_main_pid, metadata.logparser_pid AS metadata_logparser_pid, metadata.poll_pid AS metadata_poll_pid, metadata.pageview AS metadata_pageview, metadata.url_scrapydweb AS metadata_url_scrapydweb, metadata.url_jobs AS metadata_url_jobs, metadata.url_schedule_task AS metadata_url_schedule_task, metadata.url_delete_task_result AS metadata_url_delete_task_result, metadata.username AS metadata_username, metadata.password AS metadata_password, metadata.scheduler_state AS metadata_scheduler_state, metadata.jobs_per_page AS metadata_jobs_per_page, metadata.tasks_per_page AS metadata_tasks_per_page, metadata.jobs_style AS metadata_jobs_style
FROM metadata
WHERE metadata.version = ?
LIMIT ? OFFSET ?]
[parameters: ('1.4.0', 1, 0)]
(Background on this error at: https://sqlalche.me/e/14/e3q8)

@lestar666
Copy link

I also encountered this problem. It may be caused by the version of Python. The version of SQLAlchemy number under Python 3.7 cannot be too high, or the FLASK data connection will make an error and Scrapydweb cannot be installed.

I used version 3.7 and it reported an error. After reinstalling version 3.6, it ran normally. You can try it, good luck~~(^v^)~~

说人话,换python版本试试

@zachbellay
Copy link

I am running into the same issue. Here is a Dockerfile I am using to try to get scrapyd-web up and running.

FROM python:3.7-slim

ENV DEBIAN_FRONTEND noninteractive

RUN apt update && apt install git -y

COPY requirements.txt .

RUN python3 -m pip install --no-cache-dir -r requirements.txt

RUN python3 -m pip install --upgrade git+https://github.com/my8100/scrapydweb.git

ENTRYPOINT scrapydweb

The requirements.txt is the one from the repo here. The resulting error seems to be the same as OP.

[2022-11-17 19:18:02,665] INFO     in apscheduler.scheduler: Scheduler started
[2022-11-17 19:18:02,746] INFO     in scrapydweb.run: ScrapydWeb version: 1.4.0
[2022-11-17 19:18:02,747] INFO     in scrapydweb.run: Use 'scrapydweb -h' to get help
[2022-11-17 19:18:02,747] INFO     in scrapydweb.run: Main pid: 8
[2022-11-17 19:18:02,749] DEBUG    in scrapydweb.run: Loading default settings from /usr/local/lib/python3.7/site-packages/scrapydweb/default_settings.py
2022-11-17 19:18:02,853 INFO sqlalchemy.engine.Engine BEGIN (implicit)
Traceback (most recent call last):
  File "/usr/local/bin/scrapydweb", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.7/site-packages/scrapydweb/run.py", line 32, in main
    app = create_app()
  File "/usr/local/lib/python3.7/site-packages/scrapydweb/__init__.py", line 81, in create_app
    handle_db(app)
  File "/usr/local/lib/python3.7/site-packages/scrapydweb/__init__.py", line 123, in handle_db
    db.create_all()
  File "/usr/local/lib/python3.7/site-packages/flask_sqlalchemy/extension.py", line 868, in create_all
    self._call_for_binds(bind_key, "create_all")
  File "/usr/local/lib/python3.7/site-packages/flask_sqlalchemy/extension.py", line 839, in _call_for_binds
    engine = self.engines[key]
  File "/usr/local/lib/python3.7/site-packages/flask_sqlalchemy/extension.py", line 628, in engines
    app = current_app._get_current_object()  # type: ignore[attr-defined]
  File "/usr/local/lib/python3.7/site-packages/werkzeug/local.py", line 513, in _get_current_object
    raise RuntimeError(unbound_message) from None
RuntimeError: Working outside of application context.

This typically means that you attempted to use functionality that needed
the current application. To solve this, set up an application context
with app.app_context(). See the documentation for more information.
[2022-11-17 19:18:02,853] INFO     in sqlalchemy.engine.Engine: BEGIN (implicit)
2022-11-17 19:18:02,875 INFO sqlalchemy.engine.Engine SELECT metadata.id AS metadata_id, metadata.version AS metadata_version, metadata.last_check_update_timestamp AS metadata_last_check_update_timestamp, metadata.main_pid AS metadata_main_pid, metadata.logparser_pid AS metadata_logparser_pid, metadata.poll_pid AS metadata_poll_pid, metadata.pageview AS metadata_pageview, metadata.url_scrapydweb AS metadata_url_scrapydweb, metadata.url_jobs AS metadata_url_jobs, metadata.url_schedule_task AS metadata_url_schedule_task, metadata.url_delete_task_result AS metadata_url_delete_task_result, metadata.username AS metadata_username, metadata.password AS metadata_password, metadata.scheduler_state AS metadata_scheduler_state, metadata.jobs_per_page AS metadata_jobs_per_page, metadata.tasks_per_page AS metadata_tasks_per_page, metadata.jobs_style AS metadata_jobs_style 
FROM metadata 
WHERE metadata.version = ?
 LIMIT ? OFFSET ?
[2022-11-17 19:18:02,875] INFO     in sqlalchemy.engine.Engine: SELECT metadata.id AS metadata_id, metadata.version AS metadata_version, metadata.last_check_update_timestamp AS metadata_last_check_update_timestamp, metadata.main_pid AS metadata_main_pid, metadata.logparser_pid AS metadata_logparser_pid, metadata.poll_pid AS metadata_poll_pid, metadata.pageview AS metadata_pageview, metadata.url_scrapydweb AS metadata_url_scrapydweb, metadata.url_jobs AS metadata_url_jobs, metadata.url_schedule_task AS metadata_url_schedule_task, metadata.url_delete_task_result AS metadata_url_delete_task_result, metadata.username AS metadata_username, metadata.password AS metadata_password, metadata.scheduler_state AS metadata_scheduler_state, metadata.jobs_per_page AS metadata_jobs_per_page, metadata.tasks_per_page AS metadata_tasks_per_page, metadata.jobs_style AS metadata_jobs_style 
FROM metadata 
WHERE metadata.version = ?
 LIMIT ? OFFSET ?
2022-11-17 19:18:02,876 INFO sqlalchemy.engine.Engine [generated in 0.00113s] ('1.4.0', 1, 0)
[2022-11-17 19:18:02,876] INFO     in sqlalchemy.engine.Engine: [generated in 0.00113s] ('1.4.0', 1, 0)
2022-11-17 19:18:02,879 INFO sqlalchemy.engine.Engine ROLLBACK
[2022-11-17 19:18:02,879] INFO     in sqlalchemy.engine.Engine: ROLLBACK
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1901, in _execute_context
    cursor, statement, parameters, context
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
    cursor.execute(statement, parameters)
sqlite3.OperationalError: no such table: metadata

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/scrapydweb/common.py", line 85, in handle_metadata
    metadata = Metadata.query.filter_by(version=__version__).first()
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 2823, in first
    return self.limit(1)._iter().first()
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 2918, in _iter
    execution_options={"_sa_orm_load_options": self.load_options},
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 1714, in execute
    result = conn._execute_20(statement, params or {}, execution_options)
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1705, in _execute_20
    return meth(self, args_10style, kwargs_10style, execution_options)
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/elements.py", line 335, in _execute_on_connection
    self, multiparams, params, execution_options
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1582, in _execute_clauseelement
    cache_hit=cache_hit,
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1944, in _execute_context
    e, statement, parameters, cursor, context
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 2125, in _handle_dbapi_exception
    sqlalchemy_exception, with_traceback=exc_info[2], from_=e
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 210, in raise_
    raise exception
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1901, in _execute_context
    cursor, statement, parameters, context
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: metadata
[SQL: SELECT metadata.id AS metadata_id, metadata.version AS metadata_version, metadata.last_check_update_timestamp AS metadata_last_check_update_timestamp, metadata.main_pid AS metadata_main_pid, metadata.logparser_pid AS metadata_logparser_pid, metadata.poll_pid AS metadata_poll_pid, metadata.pageview AS metadata_pageview, metadata.url_scrapydweb AS metadata_url_scrapydweb, metadata.url_jobs AS metadata_url_jobs, metadata.url_schedule_task AS metadata_url_schedule_task, metadata.url_delete_task_result AS metadata_url_delete_task_result, metadata.username AS metadata_username, metadata.password AS metadata_password, metadata.scheduler_state AS metadata_scheduler_state, metadata.jobs_per_page AS metadata_jobs_per_page, metadata.tasks_per_page AS metadata_tasks_per_page, metadata.jobs_style AS metadata_jobs_style 
FROM metadata 
WHERE metadata.version = ?
 LIMIT ? OFFSET ?]
[parameters: ('1.4.0', 1, 0)]
(Background on this error at: https://sqlalche.me/e/14/e3q8)
➜  scrapyd-web git:(master) ✗ DOCKER_DEFAULT_PLATFORM=linux/amd64 docker run web 
[2022-11-17 19:18:29,778] INFO     in apscheduler.scheduler: Scheduler started
[2022-11-17 19:18:29,859] INFO     in scrapydweb.run: ScrapydWeb version: 1.4.0
[2022-11-17 19:18:29,859] INFO     in scrapydweb.run: Use 'scrapydweb -h' to get help
[2022-11-17 19:18:29,860] INFO     in scrapydweb.run: Main pid: 8
[2022-11-17 19:18:29,861] DEBUG    in scrapydweb.run: Loading default settings from /usr/local/lib/python3.7/site-packages/scrapydweb/default_settings.py
2022-11-17 19:18:29,969 INFO sqlalchemy.engine.Engine BEGIN (implicit)
Traceback (most recent call last):
  File "/usr/local/bin/scrapydweb", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.7/site-packages/scrapydweb/run.py", line 32, in main
    app = create_app()
  File "/usr/local/lib/python3.7/site-packages/scrapydweb/__init__.py", line 81, in create_app
    handle_db(app)
  File "/usr/local/lib/python3.7/site-packages/scrapydweb/__init__.py", line 123, in handle_db
    db.create_all()
  File "/usr/local/lib/python3.7/site-packages/flask_sqlalchemy/extension.py", line 868, in create_all
    self._call_for_binds(bind_key, "create_all")
  File "/usr/local/lib/python3.7/site-packages/flask_sqlalchemy/extension.py", line 839, in _call_for_binds
    engine = self.engines[key]
  File "/usr/local/lib/python3.7/site-packages/flask_sqlalchemy/extension.py", line 628, in engines
    app = current_app._get_current_object()  # type: ignore[attr-defined]
  File "/usr/local/lib/python3.7/site-packages/werkzeug/local.py", line 513, in _get_current_object
    raise RuntimeError(unbound_message) from None
RuntimeError: Working outside of application context.

This typically means that you attempted to use functionality that needed
the current application. To solve this, set up an application context
with app.app_context(). See the documentation for more information.
[2022-11-17 19:18:29,969] INFO     in sqlalchemy.engine.Engine: BEGIN (implicit)
2022-11-17 19:18:29,990 INFO sqlalchemy.engine.Engine SELECT metadata.id AS metadata_id, metadata.version AS metadata_version, metadata.last_check_update_timestamp AS metadata_last_check_update_timestamp, metadata.main_pid AS metadata_main_pid, metadata.logparser_pid AS metadata_logparser_pid, metadata.poll_pid AS metadata_poll_pid, metadata.pageview AS metadata_pageview, metadata.url_scrapydweb AS metadata_url_scrapydweb, metadata.url_jobs AS metadata_url_jobs, metadata.url_schedule_task AS metadata_url_schedule_task, metadata.url_delete_task_result AS metadata_url_delete_task_result, metadata.username AS metadata_username, metadata.password AS metadata_password, metadata.scheduler_state AS metadata_scheduler_state, metadata.jobs_per_page AS metadata_jobs_per_page, metadata.tasks_per_page AS metadata_tasks_per_page, metadata.jobs_style AS metadata_jobs_style 
FROM metadata 
WHERE metadata.version = ?
 LIMIT ? OFFSET ?
[2022-11-17 19:18:29,990] INFO     in sqlalchemy.engine.Engine: SELECT metadata.id AS metadata_id, metadata.version AS metadata_version, metadata.last_check_update_timestamp AS metadata_last_check_update_timestamp, metadata.main_pid AS metadata_main_pid, metadata.logparser_pid AS metadata_logparser_pid, metadata.poll_pid AS metadata_poll_pid, metadata.pageview AS metadata_pageview, metadata.url_scrapydweb AS metadata_url_scrapydweb, metadata.url_jobs AS metadata_url_jobs, metadata.url_schedule_task AS metadata_url_schedule_task, metadata.url_delete_task_result AS metadata_url_delete_task_result, metadata.username AS metadata_username, metadata.password AS metadata_password, metadata.scheduler_state AS metadata_scheduler_state, metadata.jobs_per_page AS metadata_jobs_per_page, metadata.tasks_per_page AS metadata_tasks_per_page, metadata.jobs_style AS metadata_jobs_style 
FROM metadata 
WHERE metadata.version = ?
 LIMIT ? OFFSET ?
2022-11-17 19:18:29,992 INFO sqlalchemy.engine.Engine [generated in 0.00111s] ('1.4.0', 1, 0)
[2022-11-17 19:18:29,992] INFO     in sqlalchemy.engine.Engine: [generated in 0.00111s] ('1.4.0', 1, 0)
2022-11-17 19:18:29,995 INFO sqlalchemy.engine.Engine ROLLBACK
[2022-11-17 19:18:29,995] INFO     in sqlalchemy.engine.Engine: ROLLBACK
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1901, in _execute_context
    cursor, statement, parameters, context
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
    cursor.execute(statement, parameters)
sqlite3.OperationalError: no such table: metadata

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/scrapydweb/common.py", line 85, in handle_metadata
    metadata = Metadata.query.filter_by(version=__version__).first()
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 2823, in first
    return self.limit(1)._iter().first()
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/query.py", line 2918, in _iter
    execution_options={"_sa_orm_load_options": self.load_options},
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/orm/session.py", line 1714, in execute
    result = conn._execute_20(statement, params or {}, execution_options)
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1705, in _execute_20
    return meth(self, args_10style, kwargs_10style, execution_options)
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/sql/elements.py", line 335, in _execute_on_connection
    self, multiparams, params, execution_options
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1582, in _execute_clauseelement
    cache_hit=cache_hit,
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1944, in _execute_context
    e, statement, parameters, cursor, context
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 2125, in _handle_dbapi_exception
    sqlalchemy_exception, with_traceback=exc_info[2], from_=e
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/util/compat.py", line 210, in raise_
    raise exception
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/base.py", line 1901, in _execute_context
    cursor, statement, parameters, context
  File "/usr/local/lib/python3.7/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: metadata
[SQL: SELECT metadata.id AS metadata_id, metadata.version AS metadata_version, metadata.last_check_update_timestamp AS metadata_last_check_update_timestamp, metadata.main_pid AS metadata_main_pid, metadata.logparser_pid AS metadata_logparser_pid, metadata.poll_pid AS metadata_poll_pid, metadata.pageview AS metadata_pageview, metadata.url_scrapydweb AS metadata_url_scrapydweb, metadata.url_jobs AS metadata_url_jobs, metadata.url_schedule_task AS metadata_url_schedule_task, metadata.url_delete_task_result AS metadata_url_delete_task_result, metadata.username AS metadata_username, metadata.password AS metadata_password, metadata.scheduler_state AS metadata_scheduler_state, metadata.jobs_per_page AS metadata_jobs_per_page, metadata.tasks_per_page AS metadata_tasks_per_page, metadata.jobs_style AS metadata_jobs_style 
FROM metadata 
WHERE metadata.version = ?
 LIMIT ? OFFSET ?]
[parameters: ('1.4.0', 1, 0)]
(Background on this error at: https://sqlalche.me/e/14/e3q8)

@zachbellay
Copy link

Just tried using python 3.6 and there is an error, although it is different.

FROM python:3.6-slim

ENV DEBIAN_FRONTEND noninteractive

RUN apt update && apt install git -y

COPY requirements.txt .

RUN python3 -m pip install --no-cache-dir -r requirements.txt

RUN python3 -m pip install --upgrade git+https://github.com/my8100/scrapydweb.git

ENTRYPOINT scrapydweb

Logs:

[2022-11-17 19:23:25,879] INFO     in apscheduler.scheduler: Scheduler started
[2022-11-17 19:23:26,062] INFO     in scrapydweb.run: ScrapydWeb version: 1.4.0
[2022-11-17 19:23:26,066] INFO     in scrapydweb.run: Use 'scrapydweb -h' to get help
[2022-11-17 19:23:26,066] INFO     in scrapydweb.run: Main pid: 8
[2022-11-17 19:23:26,070] DEBUG    in scrapydweb.run: Loading default settings from /usr/local/lib/python3.6/site-packages/scrapydweb/default_settings.py
2022-11-17 19:23:26,092 INFO sqlalchemy.engine.Engine BEGIN (implicit)
[2022-11-17 19:23:26,092] INFO     in sqlalchemy.engine.Engine: BEGIN (implicit)
2022-11-17 19:23:26,095 INFO sqlalchemy.engine.Engine PRAGMA main.table_info("task")
[2022-11-17 19:23:26,095] INFO     in sqlalchemy.engine.Engine: PRAGMA main.table_info("task")
2022-11-17 19:23:26,096 INFO sqlalchemy.engine.Engine [raw sql] ()
[2022-11-17 19:23:26,096] INFO     in sqlalchemy.engine.Engine: [raw sql] ()
2022-11-17 19:23:26,099 INFO sqlalchemy.engine.Engine PRAGMA temp.table_info("task")
[2022-11-17 19:23:26,099] INFO     in sqlalchemy.engine.Engine: PRAGMA temp.table_info("task")
2022-11-17 19:23:26,100 INFO sqlalchemy.engine.Engine [raw sql] ()
[2022-11-17 19:23:26,100] INFO     in sqlalchemy.engine.Engine: [raw sql] ()
2022-11-17 19:23:26,103 INFO sqlalchemy.engine.Engine PRAGMA main.table_info("task_result")
[2022-11-17 19:23:26,103] INFO     in sqlalchemy.engine.Engine: PRAGMA main.table_info("task_result")
2022-11-17 19:23:26,104 INFO sqlalchemy.engine.Engine [raw sql] ()
[2022-11-17 19:23:26,104] INFO     in sqlalchemy.engine.Engine: [raw sql] ()
2022-11-17 19:23:26,106 INFO sqlalchemy.engine.Engine PRAGMA temp.table_info("task_result")
[2022-11-17 19:23:26,106] INFO     in sqlalchemy.engine.Engine: PRAGMA temp.table_info("task_result")
2022-11-17 19:23:26,107 INFO sqlalchemy.engine.Engine [raw sql] ()
[2022-11-17 19:23:26,107] INFO     in sqlalchemy.engine.Engine: [raw sql] ()
2022-11-17 19:23:26,110 INFO sqlalchemy.engine.Engine PRAGMA main.table_info("task_job_result")
[2022-11-17 19:23:26,110] INFO     in sqlalchemy.engine.Engine: PRAGMA main.table_info("task_job_result")
2022-11-17 19:23:26,111 INFO sqlalchemy.engine.Engine [raw sql] ()
[2022-11-17 19:23:26,111] INFO     in sqlalchemy.engine.Engine: [raw sql] ()
2022-11-17 19:23:26,113 INFO sqlalchemy.engine.Engine PRAGMA temp.table_info("task_job_result")
[2022-11-17 19:23:26,113] INFO     in sqlalchemy.engine.Engine: PRAGMA temp.table_info("task_job_result")
2022-11-17 19:23:26,113 INFO sqlalchemy.engine.Engine [raw sql] ()
[2022-11-17 19:23:26,113] INFO     in sqlalchemy.engine.Engine: [raw sql] ()
2022-11-17 19:23:26,121 INFO sqlalchemy.engine.Engine 
CREATE TABLE task (
        id INTEGER NOT NULL, 
        name VARCHAR(255), 
        "trigger" VARCHAR(8) NOT NULL, 
        create_time DATETIME NOT NULL, 
        update_time DATETIME NOT NULL, 
        project VARCHAR(255) NOT NULL, 
        version VARCHAR(255) NOT NULL, 
        spider VARCHAR(255) NOT NULL, 
        jobid VARCHAR(255) NOT NULL, 
        settings_arguments TEXT NOT NULL, 
        selected_nodes TEXT NOT NULL, 
        year VARCHAR(255) NOT NULL, 
        month VARCHAR(255) NOT NULL, 
        day VARCHAR(255) NOT NULL, 
        week VARCHAR(255) NOT NULL, 
        day_of_week VARCHAR(255) NOT NULL, 
        hour VARCHAR(255) NOT NULL, 
        minute VARCHAR(255) NOT NULL, 
        second VARCHAR(255) NOT NULL, 
        start_date VARCHAR(19), 
        end_date VARCHAR(19), 
        timezone VARCHAR(255), 
        jitter INTEGER NOT NULL, 
        misfire_grace_time INTEGER, 
        coalesce VARCHAR(5) NOT NULL, 
        max_instances INTEGER NOT NULL, 
        PRIMARY KEY (id)
)


[2022-11-17 19:23:26,121] INFO     in sqlalchemy.engine.Engine: 
CREATE TABLE task (
        id INTEGER NOT NULL, 
        name VARCHAR(255), 
        "trigger" VARCHAR(8) NOT NULL, 
        create_time DATETIME NOT NULL, 
        update_time DATETIME NOT NULL, 
        project VARCHAR(255) NOT NULL, 
        version VARCHAR(255) NOT NULL, 
        spider VARCHAR(255) NOT NULL, 
        jobid VARCHAR(255) NOT NULL, 
        settings_arguments TEXT NOT NULL, 
        selected_nodes TEXT NOT NULL, 
        year VARCHAR(255) NOT NULL, 
        month VARCHAR(255) NOT NULL, 
        day VARCHAR(255) NOT NULL, 
        week VARCHAR(255) NOT NULL, 
        day_of_week VARCHAR(255) NOT NULL, 
        hour VARCHAR(255) NOT NULL, 
        minute VARCHAR(255) NOT NULL, 
        second VARCHAR(255) NOT NULL, 
        start_date VARCHAR(19), 
        end_date VARCHAR(19), 
        timezone VARCHAR(255), 
        jitter INTEGER NOT NULL, 
        misfire_grace_time INTEGER, 
        coalesce VARCHAR(5) NOT NULL, 
        max_instances INTEGER NOT NULL, 
        PRIMARY KEY (id)
)


2022-11-17 19:23:26,124 INFO sqlalchemy.engine.Engine [no key 0.00117s] ()
[2022-11-17 19:23:26,124] INFO     in sqlalchemy.engine.Engine: [no key 0.00117s] ()
2022-11-17 19:23:26,132 INFO sqlalchemy.engine.Engine 
CREATE TABLE task_result (
        id INTEGER NOT NULL, 
        task_id INTEGER NOT NULL, 
        execute_time DATETIME NOT NULL, 
        fail_count INTEGER NOT NULL, 
        pass_count INTEGER NOT NULL, 
        PRIMARY KEY (id), 
        FOREIGN KEY(task_id) REFERENCES task (id)
)


[2022-11-17 19:23:26,132] INFO     in sqlalchemy.engine.Engine: 
CREATE TABLE task_result (
        id INTEGER NOT NULL, 
        task_id INTEGER NOT NULL, 
        execute_time DATETIME NOT NULL, 
        fail_count INTEGER NOT NULL, 
        pass_count INTEGER NOT NULL, 
        PRIMARY KEY (id), 
        FOREIGN KEY(task_id) REFERENCES task (id)
)


2022-11-17 19:23:26,133 INFO sqlalchemy.engine.Engine [no key 0.00103s] ()
[2022-11-17 19:23:26,133] INFO     in sqlalchemy.engine.Engine: [no key 0.00103s] ()
2022-11-17 19:23:26,139 INFO sqlalchemy.engine.Engine CREATE INDEX ix_task_result_task_id ON task_result (task_id)
[2022-11-17 19:23:26,139] INFO     in sqlalchemy.engine.Engine: CREATE INDEX ix_task_result_task_id ON task_result (task_id)
2022-11-17 19:23:26,141 INFO sqlalchemy.engine.Engine [no key 0.00152s] ()
[2022-11-17 19:23:26,141] INFO     in sqlalchemy.engine.Engine: [no key 0.00152s] ()
2022-11-17 19:23:26,152 INFO sqlalchemy.engine.Engine 
CREATE TABLE task_job_result (
        id INTEGER NOT NULL, 
        task_result_id INTEGER NOT NULL, 
        run_time DATETIME NOT NULL, 
        node INTEGER NOT NULL, 
        server VARCHAR(255) NOT NULL, 
        status_code INTEGER NOT NULL, 
        status VARCHAR(9) NOT NULL, 
        result TEXT NOT NULL, 
        PRIMARY KEY (id), 
        FOREIGN KEY(task_result_id) REFERENCES task_result (id)
)


[2022-11-17 19:23:26,152] INFO     in sqlalchemy.engine.Engine: 
CREATE TABLE task_job_result (
        id INTEGER NOT NULL, 
        task_result_id INTEGER NOT NULL, 
        run_time DATETIME NOT NULL, 
        node INTEGER NOT NULL, 
        server VARCHAR(255) NOT NULL, 
        status_code INTEGER NOT NULL, 
        status VARCHAR(9) NOT NULL, 
        result TEXT NOT NULL, 
        PRIMARY KEY (id), 
        FOREIGN KEY(task_result_id) REFERENCES task_result (id)
)


2022-11-17 19:23:26,153 INFO sqlalchemy.engine.Engine [no key 0.00152s] ()
[2022-11-17 19:23:26,153] INFO     in sqlalchemy.engine.Engine: [no key 0.00152s] ()
2022-11-17 19:23:26,162 INFO sqlalchemy.engine.Engine CREATE INDEX ix_task_job_result_node ON task_job_result (node)
[2022-11-17 19:23:26,162] INFO     in sqlalchemy.engine.Engine: CREATE INDEX ix_task_job_result_node ON task_job_result (node)
2022-11-17 19:23:26,162 INFO sqlalchemy.engine.Engine [no key 0.00101s] ()
[2022-11-17 19:23:26,162] INFO     in sqlalchemy.engine.Engine: [no key 0.00101s] ()
2022-11-17 19:23:26,168 INFO sqlalchemy.engine.Engine CREATE INDEX ix_task_job_result_task_result_id ON task_job_result (task_result_id)
2022-11-17 19:23:26,169 INFO sqlalchemy.engine.Engine [no key 0.00109s] ()
[2022-11-17 19:23:26,168] INFO     in sqlalchemy.engine.Engine: CREATE INDEX ix_task_job_result_task_result_id ON task_job_result (task_result_id)
[2022-11-17 19:23:26,169] INFO     in sqlalchemy.engine.Engine: [no key 0.00109s] ()
2022-11-17 19:23:26,176 INFO sqlalchemy.engine.Engine COMMIT
[2022-11-17 19:23:26,176] INFO     in sqlalchemy.engine.Engine: COMMIT
2022-11-17 19:23:26,180 INFO sqlalchemy.engine.Engine BEGIN (implicit)
[2022-11-17 19:23:26,180] INFO     in sqlalchemy.engine.Engine: BEGIN (implicit)
2022-11-17 19:23:26,182 INFO sqlalchemy.engine.Engine PRAGMA main.table_info("metadata")
[2022-11-17 19:23:26,182] INFO     in sqlalchemy.engine.Engine: PRAGMA main.table_info("metadata")
2022-11-17 19:23:26,183 INFO sqlalchemy.engine.Engine [raw sql] ()
[2022-11-17 19:23:26,183] INFO     in sqlalchemy.engine.Engine: [raw sql] ()
2022-11-17 19:23:26,185 INFO sqlalchemy.engine.Engine PRAGMA temp.table_info("metadata")
[2022-11-17 19:23:26,185] INFO     in sqlalchemy.engine.Engine: PRAGMA temp.table_info("metadata")
2022-11-17 19:23:26,186 INFO sqlalchemy.engine.Engine [raw sql] ()
[2022-11-17 19:23:26,186] INFO     in sqlalchemy.engine.Engine: [raw sql] ()
2022-11-17 19:23:26,191 INFO sqlalchemy.engine.Engine 
CREATE TABLE metadata (
        id INTEGER NOT NULL, 
        version VARCHAR(20) NOT NULL, 
        last_check_update_timestamp FLOAT, 
        main_pid INTEGER, 
        logparser_pid INTEGER, 
        poll_pid INTEGER, 
        pageview INTEGER NOT NULL, 
        url_scrapydweb TEXT NOT NULL, 
        url_jobs VARCHAR(255) NOT NULL, 
        url_schedule_task VARCHAR(255) NOT NULL, 
        url_delete_task_result VARCHAR(255) NOT NULL, 
        username VARCHAR(255), 
        password VARCHAR(255), 
        scheduler_state INTEGER NOT NULL, 
        jobs_per_page INTEGER NOT NULL, 
        tasks_per_page INTEGER NOT NULL, 
        jobs_style VARCHAR(8) NOT NULL, 
        PRIMARY KEY (id), 
        UNIQUE (version)
)


[2022-11-17 19:23:26,191] INFO     in sqlalchemy.engine.Engine: 
CREATE TABLE metadata (
        id INTEGER NOT NULL, 
        version VARCHAR(20) NOT NULL, 
        last_check_update_timestamp FLOAT, 
        main_pid INTEGER, 
        logparser_pid INTEGER, 
        poll_pid INTEGER, 
        pageview INTEGER NOT NULL, 
        url_scrapydweb TEXT NOT NULL, 
        url_jobs VARCHAR(255) NOT NULL, 
        url_schedule_task VARCHAR(255) NOT NULL, 
        url_delete_task_result VARCHAR(255) NOT NULL, 
        username VARCHAR(255), 
        password VARCHAR(255), 
        scheduler_state INTEGER NOT NULL, 
        jobs_per_page INTEGER NOT NULL, 
        tasks_per_page INTEGER NOT NULL, 
        jobs_style VARCHAR(8) NOT NULL, 
        PRIMARY KEY (id), 
        UNIQUE (version)
)


2022-11-17 19:23:26,192 INFO sqlalchemy.engine.Engine [no key 0.00161s] ()
[2022-11-17 19:23:26,192] INFO     in sqlalchemy.engine.Engine: [no key 0.00161s] ()
2022-11-17 19:23:26,198 INFO sqlalchemy.engine.Engine COMMIT
[2022-11-17 19:23:26,198] INFO     in sqlalchemy.engine.Engine: COMMIT
2022-11-17 19:23:26,202 INFO sqlalchemy.engine.Engine BEGIN (implicit)
[2022-11-17 19:23:26,202] INFO     in sqlalchemy.engine.Engine: BEGIN (implicit)
2022-11-17 19:23:26,203 INFO sqlalchemy.engine.Engine COMMIT
[2022-11-17 19:23:26,203] INFO     in sqlalchemy.engine.Engine: COMMIT
2022-11-17 19:23:26,266 INFO sqlalchemy.engine.Engine BEGIN (implicit)
[2022-11-17 19:23:26,266] INFO     in sqlalchemy.engine.Engine: BEGIN (implicit)
2022-11-17 19:23:26,286 INFO sqlalchemy.engine.Engine SELECT metadata.id AS metadata_id, metadata.version AS metadata_version, metadata.last_check_update_timestamp AS metadata_last_check_update_timestamp, metadata.main_pid AS metadata_main_pid, metadata.logparser_pid AS metadata_logparser_pid, metadata.poll_pid AS metadata_poll_pid, metadata.pageview AS metadata_pageview, metadata.url_scrapydweb AS metadata_url_scrapydweb, metadata.url_jobs AS metadata_url_jobs, metadata.url_schedule_task AS metadata_url_schedule_task, metadata.url_delete_task_result AS metadata_url_delete_task_result, metadata.username AS metadata_username, metadata.password AS metadata_password, metadata.scheduler_state AS metadata_scheduler_state, metadata.jobs_per_page AS metadata_jobs_per_page, metadata.tasks_per_page AS metadata_tasks_per_page, metadata.jobs_style AS metadata_jobs_style 
FROM metadata 
WHERE metadata.version = ?
 LIMIT ? OFFSET ?
[2022-11-17 19:23:26,286] INFO     in sqlalchemy.engine.Engine: SELECT metadata.id AS metadata_id, metadata.version AS metadata_version, metadata.last_check_update_timestamp AS metadata_last_check_update_timestamp, metadata.main_pid AS metadata_main_pid, metadata.logparser_pid AS metadata_logparser_pid, metadata.poll_pid AS metadata_poll_pid, metadata.pageview AS metadata_pageview, metadata.url_scrapydweb AS metadata_url_scrapydweb, metadata.url_jobs AS metadata_url_jobs, metadata.url_schedule_task AS metadata_url_schedule_task, metadata.url_delete_task_result AS metadata_url_delete_task_result, metadata.username AS metadata_username, metadata.password AS metadata_password, metadata.scheduler_state AS metadata_scheduler_state, metadata.jobs_per_page AS metadata_jobs_per_page, metadata.tasks_per_page AS metadata_tasks_per_page, metadata.jobs_style AS metadata_jobs_style 
FROM metadata 
WHERE metadata.version = ?
 LIMIT ? OFFSET ?
2022-11-17 19:23:26,286 INFO sqlalchemy.engine.Engine [generated in 0.00126s] ('1.4.0', 1, 0)
[2022-11-17 19:23:26,286] INFO     in sqlalchemy.engine.Engine: [generated in 0.00126s] ('1.4.0', 1, 0)
2022-11-17 19:23:26,300 INFO sqlalchemy.engine.Engine INSERT INTO metadata (version, last_check_update_timestamp, main_pid, logparser_pid, poll_pid, pageview, url_scrapydweb, url_jobs, url_schedule_task, url_delete_task_result, username, password, scheduler_state, jobs_per_page, tasks_per_page, jobs_style) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
[2022-11-17 19:23:26,300] INFO     in sqlalchemy.engine.Engine: INSERT INTO metadata (version, last_check_update_timestamp, main_pid, logparser_pid, poll_pid, pageview, url_scrapydweb, url_jobs, url_schedule_task, url_delete_task_result, username, password, scheduler_state, jobs_per_page, tasks_per_page, jobs_style) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
2022-11-17 19:23:26,301 INFO sqlalchemy.engine.Engine [generated in 0.00189s] ('1.4.0', 1668713006.3001032, None, None, None, 0, 'http://127.0.0.1:5000', '/1/jobs/', '/1/schedule/task/', '/1/tasks/xhr/delete/1/1/', None, None, 1, 100, 100, 'database')
[2022-11-17 19:23:26,301] INFO     in sqlalchemy.engine.Engine: [generated in 0.00189s] ('1.4.0', 1668713006.3001032, None, None, None, 0, 'http://127.0.0.1:5000', '/1/jobs/', '/1/schedule/task/', '/1/tasks/xhr/delete/1/1/', None, None, 1, 100, 100, 'database')
2022-11-17 19:23:26,309 INFO sqlalchemy.engine.Engine COMMIT
[2022-11-17 19:23:26,309] INFO     in sqlalchemy.engine.Engine: COMMIT
2022-11-17 19:23:26,318 INFO sqlalchemy.engine.Engine BEGIN (implicit)
[2022-11-17 19:23:26,318] INFO     in sqlalchemy.engine.Engine: BEGIN (implicit)
2022-11-17 19:23:26,320 INFO sqlalchemy.engine.Engine SELECT metadata.id AS metadata_id, metadata.version AS metadata_version, metadata.last_check_update_timestamp AS metadata_last_check_update_timestamp, metadata.main_pid AS metadata_main_pid, metadata.logparser_pid AS metadata_logparser_pid, metadata.poll_pid AS metadata_poll_pid, metadata.pageview AS metadata_pageview, metadata.url_scrapydweb AS metadata_url_scrapydweb, metadata.url_jobs AS metadata_url_jobs, metadata.url_schedule_task AS metadata_url_schedule_task, metadata.url_delete_task_result AS metadata_url_delete_task_result, metadata.username AS metadata_username, metadata.password AS metadata_password, metadata.scheduler_state AS metadata_scheduler_state, metadata.jobs_per_page AS metadata_jobs_per_page, metadata.tasks_per_page AS metadata_tasks_per_page, metadata.jobs_style AS metadata_jobs_style 
FROM metadata 
WHERE metadata.version = ?
 LIMIT ? OFFSET ?
[2022-11-17 19:23:26,320] INFO     in sqlalchemy.engine.Engine: SELECT metadata.id AS metadata_id, metadata.version AS metadata_version, metadata.last_check_update_timestamp AS metadata_last_check_update_timestamp, metadata.main_pid AS metadata_main_pid, metadata.logparser_pid AS metadata_logparser_pid, metadata.poll_pid AS metadata_poll_pid, metadata.pageview AS metadata_pageview, metadata.url_scrapydweb AS metadata_url_scrapydweb, metadata.url_jobs AS metadata_url_jobs, metadata.url_schedule_task AS metadata_url_schedule_task, metadata.url_delete_task_result AS metadata_url_delete_task_result, metadata.username AS metadata_username, metadata.password AS metadata_password, metadata.scheduler_state AS metadata_scheduler_state, metadata.jobs_per_page AS metadata_jobs_per_page, metadata.tasks_per_page AS metadata_tasks_per_page, metadata.jobs_style AS metadata_jobs_style 
FROM metadata 
WHERE metadata.version = ?
 LIMIT ? OFFSET ?
2022-11-17 19:23:26,321 INFO sqlalchemy.engine.Engine [cached since 0.03561s ago] ('1.4.0', 1, 0)
[2022-11-17 19:23:26,321] INFO     in sqlalchemy.engine.Engine: [cached since 0.03561s ago] ('1.4.0', 1, 0)
2022-11-17 19:23:26,326 INFO sqlalchemy.engine.Engine ROLLBACK
[2022-11-17 19:23:26,326] INFO     in sqlalchemy.engine.Engine: ROLLBACK
2022-11-17 19:23:26,330 INFO sqlalchemy.engine.Engine BEGIN (implicit)
[2022-11-17 19:23:26,330] INFO     in sqlalchemy.engine.Engine: BEGIN (implicit)
2022-11-17 19:23:26,331 INFO sqlalchemy.engine.Engine SELECT metadata.id AS metadata_id, metadata.version AS metadata_version, metadata.last_check_update_timestamp AS metadata_last_check_update_timestamp, metadata.main_pid AS metadata_main_pid, metadata.logparser_pid AS metadata_logparser_pid, metadata.poll_pid AS metadata_poll_pid, metadata.pageview AS metadata_pageview, metadata.url_scrapydweb AS metadata_url_scrapydweb, metadata.url_jobs AS metadata_url_jobs, metadata.url_schedule_task AS metadata_url_schedule_task, metadata.url_delete_task_result AS metadata_url_delete_task_result, metadata.username AS metadata_username, metadata.password AS metadata_password, metadata.scheduler_state AS metadata_scheduler_state, metadata.jobs_per_page AS metadata_jobs_per_page, metadata.tasks_per_page AS metadata_tasks_per_page, metadata.jobs_style AS metadata_jobs_style 
FROM metadata 
WHERE metadata.version = ?
 LIMIT ? OFFSET ?
[2022-11-17 19:23:26,331] INFO     in sqlalchemy.engine.Engine: SELECT metadata.id AS metadata_id, metadata.version AS metadata_version, metadata.last_check_update_timestamp AS metadata_last_check_update_timestamp, metadata.main_pid AS metadata_main_pid, metadata.logparser_pid AS metadata_logparser_pid, metadata.poll_pid AS metadata_poll_pid, metadata.pageview AS metadata_pageview, metadata.url_scrapydweb AS metadata_url_scrapydweb, metadata.url_jobs AS metadata_url_jobs, metadata.url_schedule_task AS metadata_url_schedule_task, metadata.url_delete_task_result AS metadata_url_delete_task_result, metadata.username AS metadata_username, metadata.password AS metadata_password, metadata.scheduler_state AS metadata_scheduler_state, metadata.jobs_per_page AS metadata_jobs_per_page, metadata.tasks_per_page AS metadata_tasks_per_page, metadata.jobs_style AS metadata_jobs_style 
FROM metadata 
WHERE metadata.version = ?
 LIMIT ? OFFSET ?
2022-11-17 19:23:26,332 INFO sqlalchemy.engine.Engine [cached since 0.04692s ago] ('1.4.0', 1, 0)
[2022-11-17 19:23:26,332] INFO     in sqlalchemy.engine.Engine: [cached since 0.04692s ago] ('1.4.0', 1, 0)
2022-11-17 19:23:26,341 INFO sqlalchemy.engine.Engine UPDATE metadata SET pageview=? WHERE metadata.id = ?
[2022-11-17 19:23:26,341] INFO     in sqlalchemy.engine.Engine: UPDATE metadata SET pageview=? WHERE metadata.id = ?
2022-11-17 19:23:26,343 INFO sqlalchemy.engine.Engine [generated in 0.00176s] (1, 1)
[2022-11-17 19:23:26,343] INFO     in sqlalchemy.engine.Engine: [generated in 0.00176s] (1, 1)
2022-11-17 19:23:26,346 INFO sqlalchemy.engine.Engine COMMIT
[2022-11-17 19:23:26,346] INFO     in sqlalchemy.engine.Engine: COMMIT
2022-11-17 19:23:26,410 INFO sqlalchemy.engine.Engine BEGIN (implicit)
[2022-11-17 19:23:26,410] INFO     in sqlalchemy.engine.Engine: BEGIN (implicit)
2022-11-17 19:23:26,412 INFO sqlalchemy.engine.Engine SELECT metadata.id AS metadata_id, metadata.version AS metadata_version, metadata.last_check_update_timestamp AS metadata_last_check_update_timestamp, metadata.main_pid AS metadata_main_pid, metadata.logparser_pid AS metadata_logparser_pid, metadata.poll_pid AS metadata_poll_pid, metadata.pageview AS metadata_pageview, metadata.url_scrapydweb AS metadata_url_scrapydweb, metadata.url_jobs AS metadata_url_jobs, metadata.url_schedule_task AS metadata_url_schedule_task, metadata.url_delete_task_result AS metadata_url_delete_task_result, metadata.username AS metadata_username, metadata.password AS metadata_password, metadata.scheduler_state AS metadata_scheduler_state, metadata.jobs_per_page AS metadata_jobs_per_page, metadata.tasks_per_page AS metadata_tasks_per_page, metadata.jobs_style AS metadata_jobs_style 
FROM metadata 
WHERE metadata.version = ?
 LIMIT ? OFFSET ?
[2022-11-17 19:23:26,412] INFO     in sqlalchemy.engine.Engine: SELECT metadata.id AS metadata_id, metadata.version AS metadata_version, metadata.last_check_update_timestamp AS metadata_last_check_update_timestamp, metadata.main_pid AS metadata_main_pid, metadata.logparser_pid AS metadata_logparser_pid, metadata.poll_pid AS metadata_poll_pid, metadata.pageview AS metadata_pageview, metadata.url_scrapydweb AS metadata_url_scrapydweb, metadata.url_jobs AS metadata_url_jobs, metadata.url_schedule_task AS metadata_url_schedule_task, metadata.url_delete_task_result AS metadata_url_delete_task_result, metadata.username AS metadata_username, metadata.password AS metadata_password, metadata.scheduler_state AS metadata_scheduler_state, metadata.jobs_per_page AS metadata_jobs_per_page, metadata.tasks_per_page AS metadata_tasks_per_page, metadata.jobs_style AS metadata_jobs_style 
FROM metadata 
WHERE metadata.version = ?
 LIMIT ? OFFSET ?
2022-11-17 19:23:26,413 INFO sqlalchemy.engine.Engine [cached since 0.1276s ago] ('1.4.0', 1, 0)
[2022-11-17 19:23:26,413] INFO     in sqlalchemy.engine.Engine: [cached since 0.1276s ago] ('1.4.0', 1, 0)
2022-11-17 19:23:26,416 INFO sqlalchemy.engine.Engine ROLLBACK
[2022-11-17 19:23:26,416] INFO     in sqlalchemy.engine.Engine: ROLLBACK
2022-11-17 19:23:26,506 INFO sqlalchemy.engine.Engine BEGIN (implicit)
[2022-11-17 19:23:26,506] INFO     in sqlalchemy.engine.Engine: BEGIN (implicit)
2022-11-17 19:23:26,508 INFO sqlalchemy.engine.Engine SELECT metadata.id AS metadata_id, metadata.version AS metadata_version, metadata.last_check_update_timestamp AS metadata_last_check_update_timestamp, metadata.main_pid AS metadata_main_pid, metadata.logparser_pid AS metadata_logparser_pid, metadata.poll_pid AS metadata_poll_pid, metadata.pageview AS metadata_pageview, metadata.url_scrapydweb AS metadata_url_scrapydweb, metadata.url_jobs AS metadata_url_jobs, metadata.url_schedule_task AS metadata_url_schedule_task, metadata.url_delete_task_result AS metadata_url_delete_task_result, metadata.username AS metadata_username, metadata.password AS metadata_password, metadata.scheduler_state AS metadata_scheduler_state, metadata.jobs_per_page AS metadata_jobs_per_page, metadata.tasks_per_page AS metadata_tasks_per_page, metadata.jobs_style AS metadata_jobs_style 
FROM metadata 
WHERE metadata.version = ?
 LIMIT ? OFFSET ?
[2022-11-17 19:23:26,508] INFO     in sqlalchemy.engine.Engine: SELECT metadata.id AS metadata_id, metadata.version AS metadata_version, metadata.last_check_update_timestamp AS metadata_last_check_update_timestamp, metadata.main_pid AS metadata_main_pid, metadata.logparser_pid AS metadata_logparser_pid, metadata.poll_pid AS metadata_poll_pid, metadata.pageview AS metadata_pageview, metadata.url_scrapydweb AS metadata_url_scrapydweb, metadata.url_jobs AS metadata_url_jobs, metadata.url_schedule_task AS metadata_url_schedule_task, metadata.url_delete_task_result AS metadata_url_delete_task_result, metadata.username AS metadata_username, metadata.password AS metadata_password, metadata.scheduler_state AS metadata_scheduler_state, metadata.jobs_per_page AS metadata_jobs_per_page, metadata.tasks_per_page AS metadata_tasks_per_page, metadata.jobs_style AS metadata_jobs_style 
FROM metadata 
WHERE metadata.version = ?
 LIMIT ? OFFSET ?
2022-11-17 19:23:26,508 INFO sqlalchemy.engine.Engine [cached since 0.2232s ago] ('1.4.0', 1, 0)
[2022-11-17 19:23:26,508] INFO     in sqlalchemy.engine.Engine: [cached since 0.2232s ago] ('1.4.0', 1, 0)
2022-11-17 19:23:26,511 INFO sqlalchemy.engine.Engine ROLLBACK
[2022-11-17 19:23:26,511] INFO     in sqlalchemy.engine.Engine: ROLLBACK
2022-11-17 19:23:26,580 INFO sqlalchemy.engine.Engine BEGIN (implicit)
[2022-11-17 19:23:26,580] INFO     in sqlalchemy.engine.Engine: BEGIN (implicit)
2022-11-17 19:23:26,583 INFO sqlalchemy.engine.Engine SELECT metadata.id AS metadata_id, metadata.version AS metadata_version, metadata.last_check_update_timestamp AS metadata_last_check_update_timestamp, metadata.main_pid AS metadata_main_pid, metadata.logparser_pid AS metadata_logparser_pid, metadata.poll_pid AS metadata_poll_pid, metadata.pageview AS metadata_pageview, metadata.url_scrapydweb AS metadata_url_scrapydweb, metadata.url_jobs AS metadata_url_jobs, metadata.url_schedule_task AS metadata_url_schedule_task, metadata.url_delete_task_result AS metadata_url_delete_task_result, metadata.username AS metadata_username, metadata.password AS metadata_password, metadata.scheduler_state AS metadata_scheduler_state, metadata.jobs_per_page AS metadata_jobs_per_page, metadata.tasks_per_page AS metadata_tasks_per_page, metadata.jobs_style AS metadata_jobs_style 
FROM metadata 
WHERE metadata.version = ?
 LIMIT ? OFFSET ?
[2022-11-17 19:23:26,583] INFO     in sqlalchemy.engine.Engine: SELECT metadata.id AS metadata_id, metadata.version AS metadata_version, metadata.last_check_update_timestamp AS metadata_last_check_update_timestamp, metadata.main_pid AS metadata_main_pid, metadata.logparser_pid AS metadata_logparser_pid, metadata.poll_pid AS metadata_poll_pid, metadata.pageview AS metadata_pageview, metadata.url_scrapydweb AS metadata_url_scrapydweb, metadata.url_jobs AS metadata_url_jobs, metadata.url_schedule_task AS metadata_url_schedule_task, metadata.url_delete_task_result AS metadata_url_delete_task_result, metadata.username AS metadata_username, metadata.password AS metadata_password, metadata.scheduler_state AS metadata_scheduler_state, metadata.jobs_per_page AS metadata_jobs_per_page, metadata.tasks_per_page AS metadata_tasks_per_page, metadata.jobs_style AS metadata_jobs_style 
FROM metadata 
WHERE metadata.version = ?
 LIMIT ? OFFSET ?
2022-11-17 19:23:26,585 INFO sqlalchemy.engine.Engine [cached since 0.3011s ago] ('1.4.0', 1, 0)
[2022-11-17 19:23:26,585] INFO     in sqlalchemy.engine.Engine: [cached since 0.3011s ago] ('1.4.0', 1, 0)
2022-11-17 19:23:26,588 INFO sqlalchemy.engine.Engine ROLLBACK
[2022-11-17 19:23:26,588] INFO     in sqlalchemy.engine.Engine: ROLLBACK
2022-11-17 19:23:26,962 INFO sqlalchemy.engine.Engine BEGIN (implicit)
[2022-11-17 19:23:26,962] INFO     in sqlalchemy.engine.Engine: BEGIN (implicit)
[2022-11-17 19:23:26,965] INFO     in sqlalchemy.engine.Engine: SELECT metadata.id AS metadata_id, metadata.version AS metadata_version, metadata.last_check_update_timestamp AS metadata_last_check_update_timestamp, metadata.main_pid AS metadata_main_pid, metadata.logparser_pid AS metadata_logparser_pid, metadata.poll_pid AS metadata_poll_pid, metadata.pageview AS metadata_pageview, metadata.url_scrapydweb AS metadata_url_scrapydweb, metadata.url_jobs AS metadata_url_jobs, metadata.url_schedule_task AS metadata_url_schedule_task, metadata.url_delete_task_result AS metadata_url_delete_task_result, metadata.username AS metadata_username, metadata.password AS metadata_password, metadata.scheduler_state AS metadata_scheduler_state, metadata.jobs_per_page AS metadata_jobs_per_page, metadata.tasks_per_page AS metadata_tasks_per_page, metadata.jobs_style AS metadata_jobs_style 
FROM metadata 
WHERE metadata.version = ?
 LIMIT ? OFFSET ?
2022-11-17 19:23:26,965 INFO sqlalchemy.engine.Engine SELECT metadata.id AS metadata_id, metadata.version AS metadata_version, metadata.last_check_update_timestamp AS metadata_last_check_update_timestamp, metadata.main_pid AS metadata_main_pid, metadata.logparser_pid AS metadata_logparser_pid, metadata.poll_pid AS metadata_poll_pid, metadata.pageview AS metadata_pageview, metadata.url_scrapydweb AS metadata_url_scrapydweb, metadata.url_jobs AS metadata_url_jobs, metadata.url_schedule_task AS metadata_url_schedule_task, metadata.url_delete_task_result AS metadata_url_delete_task_result, metadata.username AS metadata_username, metadata.password AS metadata_password, metadata.scheduler_state AS metadata_scheduler_state, metadata.jobs_per_page AS metadata_jobs_per_page, metadata.tasks_per_page AS metadata_tasks_per_page, metadata.jobs_style AS metadata_jobs_style 
FROM metadata 
WHERE metadata.version = ?
 LIMIT ? OFFSET ?
2022-11-17 19:23:26,966 INFO sqlalchemy.engine.Engine [cached since 0.6828s ago] ('1.4.0', 1, 0)
[2022-11-17 19:23:26,966] INFO     in sqlalchemy.engine.Engine: [cached since 0.6828s ago] ('1.4.0', 1, 0)
2022-11-17 19:23:26,973 INFO sqlalchemy.engine.Engine UPDATE metadata SET main_pid=? WHERE metadata.id = ?
2022-11-17 19:23:26,974 INFO sqlalchemy.engine.Engine [generated in 0.00141s] (8, 1)
[2022-11-17 19:23:26,973] INFO     in sqlalchemy.engine.Engine: UPDATE metadata SET main_pid=? WHERE metadata.id = ?
[2022-11-17 19:23:26,974] INFO     in sqlalchemy.engine.Engine: [generated in 0.00141s] (8, 1)
2022-11-17 19:23:26,979 INFO sqlalchemy.engine.Engine COMMIT
[2022-11-17 19:23:26,979] INFO     in sqlalchemy.engine.Engine: COMMIT
[2022-11-17 19:23:26,987] ERROR    in scrapydweb.run: scrapydweb_settings_v10.py not found: 
2022-11-17 19:23:27,003 INFO sqlalchemy.engine.Engine BEGIN (implicit)

ATTENTION:
You may encounter ERROR if there are any running timer tasks added in v1.2.0,
and you have to restart scrapydweb and manually edit the tasks to resume them.

The config file 'scrapydweb_settings_v10.py' has been copied to current working directory.
Please add your SCRAPYD_SERVERS in the config file and restart scrapydweb.

[2022-11-17 19:23:27,003] INFO     in sqlalchemy.engine.Engine: BEGIN (implicit)
2022-11-17 19:23:27,008 INFO sqlalchemy.engine.Engine SELECT metadata.id AS metadata_id, metadata.version AS metadata_version, metadata.last_check_update_timestamp AS metadata_last_check_update_timestamp, metadata.main_pid AS metadata_main_pid, metadata.logparser_pid AS metadata_logparser_pid, metadata.poll_pid AS metadata_poll_pid, metadata.pageview AS metadata_pageview, metadata.url_scrapydweb AS metadata_url_scrapydweb, metadata.url_jobs AS metadata_url_jobs, metadata.url_schedule_task AS metadata_url_schedule_task, metadata.url_delete_task_result AS metadata_url_delete_task_result, metadata.username AS metadata_username, metadata.password AS metadata_password, metadata.scheduler_state AS metadata_scheduler_state, metadata.jobs_per_page AS metadata_jobs_per_page, metadata.tasks_per_page AS metadata_tasks_per_page, metadata.jobs_style AS metadata_jobs_style 
FROM metadata 
WHERE metadata.version = ?
 LIMIT ? OFFSET ?
[2022-11-17 19:23:27,008] INFO     in sqlalchemy.engine.Engine: SELECT metadata.id AS metadata_id, metadata.version AS metadata_version, metadata.last_check_update_timestamp AS metadata_last_check_update_timestamp, metadata.main_pid AS metadata_main_pid, metadata.logparser_pid AS metadata_logparser_pid, metadata.poll_pid AS metadata_poll_pid, metadata.pageview AS metadata_pageview, metadata.url_scrapydweb AS metadata_url_scrapydweb, metadata.url_jobs AS metadata_url_jobs, metadata.url_schedule_task AS metadata_url_schedule_task, metadata.url_delete_task_result AS metadata_url_delete_task_result, metadata.username AS metadata_username, metadata.password AS metadata_password, metadata.scheduler_state AS metadata_scheduler_state, metadata.jobs_per_page AS metadata_jobs_per_page, metadata.tasks_per_page AS metadata_tasks_per_page, metadata.jobs_style AS metadata_jobs_style 
FROM metadata 
WHERE metadata.version = ?
 LIMIT ? OFFSET ?
2022-11-17 19:23:27,010 INFO sqlalchemy.engine.Engine [cached since 0.7264s ago] ('1.4.0', 1, 0)
[2022-11-17 19:23:27,010] INFO     in sqlalchemy.engine.Engine: [cached since 0.7264s ago] ('1.4.0', 1, 0)
2022-11-17 19:23:27,015 INFO sqlalchemy.engine.Engine ROLLBACK
[2022-11-17 19:23:27,015] INFO     in sqlalchemy.engine.Engine: ROLLBACK

@lestar666
Copy link

I haven't encountered this problem, but I found a tip in the report:

ATTENTION:
You may encounter ERROR if there are any running timer tasks added in v1.2.0,
and you have to restart scrapydweb and manually edit the tasks to resume them.
The config file 'scrapydweb_settings_v10.py' has been copied to current working directory.
Please add your SCRAPYD_SERVERS in the config file and restart scrapydweb.

Have you open the service of scrapyd normally? Scrapydweb is an extended function of Scrapyd, which provides visual operation services on the basis of Scrapyd.

I recommend the following steps to start service of scrapydweb:

  1. Start the scrapyd service (use the command "scrapyd" in the environment. Before that, you'd better modify the default_scrapyd.conf file and set the bind_address to 0.0.0.0)
  2. Create a scrapydweb folder under the root directory of the crawler project and use the command "cd" to the folder (this step is not required)
  3. Enable the scrapyd service (use the command "scrapydweb" in the environment, and the subsequent use of related functions is mainly modified in the file "scrapedweb_settings_v10.py", or in the settings of the scrapedweb visualization interface)

It is also the first time for me to contact Scrapydweb. If there are any mistakes, please forgive me. Good luck~

@zachbellay
Copy link

As it turns out I guess I was using a version of SQLAlchemy that was too recent. I updated my requirements.txt to include the following line: SQLAlchemy>=1.2.15,<1.4.0

Full requirements.txt:

pip>=19.1.1
APScheduler>=3.5.3
flask>=1.0.2
flask-compress>=1.4.0
Flask-SQLAlchemy>=2.3.2
logparser==0.8.2
requests>=2.21.0
setuptools>=40.6.3
six>=1.12.0
SQLAlchemy>=1.2.15,<1.4.0
w3lib>=1.17.0
logparser

Dockerfile:

FROM python:3.6-slim

ENV DEBIAN_FRONTEND noninteractive

RUN apt update && apt install git -y

RUN mkdir /app
WORKDIR /app

COPY requirements.txt .

RUN python3 -m pip install -r requirements.txt

RUN python3 -m pip install --upgrade git+https://github.com/my8100/scrapydweb.git

ENTRYPOINT ["scrapydweb"]

Thanks to this thread for pointing me in that direction: #178

@xinmans
Copy link
Author

xinmans commented Nov 30, 2022

thanks, work perfect!

@Tanmay98
Copy link

Tanmay98 commented Feb 17, 2023

Hi, after running the requirements.txt and scrapydweb.git installation.
I still got this error for sqlalchemy

`[2023-02-17 07:53:15,571] INFO in apscheduler.scheduler: Scheduler started
[2023-02-17 07:53:15,582] INFO in scrapydweb.run: ScrapydWeb version: 1.4.0
[2023-02-17 07:53:15,582] INFO in scrapydweb.run: Use 'scrapydweb -h' to get help
[2023-02-17 07:53:15,582] INFO in scrapydweb.run: Main pid: 423085
[2023-02-17 07:53:15,582] DEBUG in scrapydweb.run: Loading default settings from /root/anaconda3/envs/scrapy/lib/python3.9/site-packages/scrapydweb/default_settings.py
[2023-02-17 07:53:15,677] ERROR in scrapydweb.run: scrapydweb_settings_v10.py not found:

ATTENTION:
You may encounter ERROR if there are any running timer tasks added in v1.2.0,
and you have to restart scrapydweb and manually edit the tasks to resume them.

The config file 'scrapydweb_settings_v10.py' has been copied to current working directory.
Please add your SCRAPYD_SERVERS in the config file and restart scrapydweb.

Error in atexit._run_exitfuncs:
Traceback (most recent call last):
File "/root/anaconda3/envs/scrapy/lib/python3.9/site-packages/sqlalchemy/sql/selectable.py", line 3105, in init
cols_present = bool(columns)
File "/root/anaconda3/envs/scrapy/lib/python3.9/site-packages/sqlalchemy/sql/elements.py", line 535, in bool
raise TypeError("Boolean value of this clause is not defined")
TypeError: Boolean value of this clause is not defined

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/root/anaconda3/envs/scrapy/lib/python3.9/site-packages/apscheduler/schedulers/base.py", line 574, in get_jobs
jobs.extend(store.get_all_jobs())
File "/root/anaconda3/envs/scrapy/lib/python3.9/site-packages/apscheduler/jobstores/sqlalchemy.py", line 89, in get_all_jobs
jobs = self.get_jobs()
File "/root/anaconda3/envs/scrapy/lib/python3.9/site-packages/apscheduler/jobstores/sqlalchemy.py", line 141, in get_jobs
selectable = select(self.jobs_t.c.id, self.jobs_t.c.job_state).
File "", line 2, in select
File "", line 2, in init
File "/root/anaconda3/envs/scrapy/lib/python3.9/site-packages/sqlalchemy/util/deprecations.py", line 139, in warned
return fn(*args, **kwargs)
File "/root/anaconda3/envs/scrapy/lib/python3.9/site-packages/sqlalchemy/sql/selectable.py", line 3107, in init
util.raise
(
File "/root/anaconda3/envs/scrapy/lib/python3.9/site-packages/sqlalchemy/util/compat.py", line 182, in raise

raise exception
sqlalchemy.exc.ArgumentError: columns argument to select() must be a Python list or other iterable
`

@Tanmay98
Copy link

Tanmay98 commented Feb 17, 2023

I was using python 3.9 but then switching to 3.6 with upgrading sqlalchemy to 1.4 shows the scrapydweb gui perfectly on the address. But still get error in the logs of scrapydweb

[2023-02-17 08:47:10,657] INFO in sqlalchemy.engine.Engine: SELECT metadata.id AS metadata_id, metadata.version AS metadata_version, metadata.last_check_update_timestamp AS metadata_last_check_update_timestamp, metadata.main_pid AS metadata_main_pid, metadata.logparser_pid AS metadata_logparser_pid, metadata.poll_pid AS metadata_poll_pid, metadata.pageview AS metadata_pageview, metadata.url_scrapydweb AS metadata_url_scrapydweb, metadata.url_jobs AS metadata_url_jobs, metadata.url_schedule_task AS metadata_url_schedule_task, metadata.url_delete_task_result AS metadata_url_delete_task_result, metadata.username AS metadata_username, metadata.password AS metadata_password, metadata.scheduler_state AS metadata_scheduler_state, metadata.jobs_per_page AS metadata_jobs_per_page, metadata.tasks_per_page AS metadata_tasks_per_page, metadata.jobs_style AS metadata_jobs_style FROM metadata WHERE metadata.version = ? LIMIT ? OFFSET ? 2023-02-17 08:47:10,657 INFO sqlalchemy.engine.Engine [cached since 129.7s ago] ('1.4.0', 1, 0) [2023-02-17 08:47:10,657] INFO in sqlalchemy.engine.Engine: [cached since 129.7s ago] ('1.4.0', 1, 0) 2023-02-17 08:47:10,658 INFO sqlalchemy.engine.Engine ROLLBACK

@Jaha96
Copy link

Jaha96 commented Aug 28, 2023

Does author exist? This project needs update for latest version.

@dataknower

This comment was marked as off-topic.

@my8100
Copy link
Owner

my8100 commented Aug 31, 2023

Please have a try for the latest scrapydweb v1.4.1, which supports Python 3.6 to 3.9

@my8100 my8100 added the dependencies Pull requests that update a dependency file label Aug 31, 2023
@my8100
Copy link
Owner

my8100 commented Aug 31, 2023

Fixed in scrapydweb v1.4.1

@my8100 my8100 closed this as completed Aug 31, 2023
@zhaoyaohui0
Copy link

确认是SQLAlchemy版本问题,按照requirements.txt里的版本要求安装就可以

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

No branches or pull requests

8 participants