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

Problem installing calibre-web on ubuntu 23.04 #2729

Closed
UsamaFoad opened this issue Mar 26, 2023 · 2 comments
Closed

Problem installing calibre-web on ubuntu 23.04 #2729

UsamaFoad opened this issue Mar 26, 2023 · 2 comments

Comments

@UsamaFoad
Copy link

UsamaFoad commented Mar 26, 2023

Describe the bug/problem
I tried to install calibre-web in ubuntu 23.04 but failed at installing lxml. So, I tried to install it manually in a python virtual environment, this time, the installation was completed, but the program did not run. When I run the cps, it shows the following messages:

Traceback (most recent call last):
  File "/home/usama/calibre-web-master/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1900, in _execute_context
    self.dialect.do_execute(
  File "/home/usama/calibre-web-master/venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
    cursor.execute(statement, parameters)
sqlite3.OperationalError: table gdrive_ids2 already exists

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

Traceback (most recent call last):
  File "/home/usama/calibre-web-master/cps.py", line 31, in <module>
    main()
  File "/home/usama/calibre-web-master/cps/main.py", line 31, in main
    app = create_app()
          ^^^^^^^^^^^^
  File "/home/usama/calibre-web-master/cps/__init__.py", line 202, in create_app
    from .schedule import register_scheduled_tasks, register_startup_tasks
  File "/home/usama/calibre-web-master/cps/schedule.py", line 24, in <module>
    from .tasks.thumbnail import TaskGenerateCoverThumbnails, TaskGenerateSeriesThumbnails, TaskClearCoverThumbnailCache
  File "/home/usama/calibre-web-master/cps/tasks/thumbnail.py", line 24, in <module>
    from cps import config, db, fs, gdriveutils, logger, ub
  File "/home/usama/calibre-web-master/cps/gdriveutils.py", line 200, in <module>
    migrate()
  File "/home/usama/calibre-web-master/cps/gdriveutils.py", line 186, in migrate
    session.execute(sql)
  File "<string>", line 2, in execute
  File "/home/usama/calibre-web-master/venv/lib/python3.11/site-packages/sqlalchemy/orm/session.py", line 1714, in execute
    result = conn._execute_20(statement, params or {}, execution_options)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/usama/calibre-web-master/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1705, in _execute_20
    return meth(self, args_10style, kwargs_10style, execution_options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/usama/calibre-web-master/venv/lib/python3.11/site-packages/sqlalchemy/sql/elements.py", line 334, in _execute_on_connection
    return connection._execute_clauseelement(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/usama/calibre-web-master/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1572, in _execute_clauseelement
    ret = self._execute_context(
          ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/usama/calibre-web-master/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1943, in _execute_context
    self._handle_dbapi_exception(
  File "/home/usama/calibre-web-master/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 2124, in _handle_dbapi_exception
    util.raise_(
  File "/home/usama/calibre-web-master/venv/lib/python3.11/site-packages/sqlalchemy/util/compat.py", line 211, in raise_
    raise exception
  File "/home/usama/calibre-web-master/venv/lib/python3.11/site-packages/sqlalchemy/engine/base.py", line 1900, in _execute_context
    self.dialect.do_execute(
  File "/home/usama/calibre-web-master/venv/lib/python3.11/site-packages/sqlalchemy/engine/default.py", line 736, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) table gdrive_ids2 already exists
[SQL: CREATE TABLE gdrive_ids2 (
	id INTEGER NOT NULL, 
	gdrive_id INTEGER, 
	path VARCHAR, 
	PRIMARY KEY (id), 
	CONSTRAINT _gdrive_path_uc UNIQUE (gdrive_id, path), 
	UNIQUE (gdrive_id, path)
)]
(Background on this error at: https://sqlalche.me/e/14/e3q8)

To Reproduce
Steps to reproduce the behavior:

  1. Install the Ubuntu Lunar Lobster (development branch) on Oracle VM
  2. Download calibre-web master repository & extract it in a subfolder in the home
  3. Create python virtual environment in the same folder [python3 -m venv venv]
  4. Manually install calibre-web [./venv/bin/python3 -m pip install -r requirements.txt]
  5. Run the program [./venv/bin/python3 cps.py]
  6. Try to access http://localhost:8083/ or 127.0.0.1:8083

Logfile
[2023-03-26 18:56:46,279] INFO {cps.server:284} webserver stop (restart=False)
[2023-03-26 18:56:46,288] INFO {apscheduler.scheduler:171} Scheduler started
[2023-03-26 18:56:46,293] INFO {apscheduler.scheduler:202} Scheduler has been shut down
[2023-03-26 19:01:44,912] WARN {cps.config_sql:349} Log path None not valid, falling back to default
[2023-03-26 19:01:44,914] WARN {cps.config_sql:384} invalidating configuration
[2023-03-26 19:01:44,948] INFO {cps:176} Starting Calibre Web...
[2023-03-26 19:01:44,966] WARN {py.warnings:109} /home/usama/calibre-web-master/venv/lib/python3.11/site-packages/flask_limiter/extension.py:293: UserWarning: Using the in-memory storage for tracking rate limits as no storage was explicitly specified. This is not recommended for production use. See: https://flask-limiter.readthedocs.io#configuring-a-storage-backend for documentation about configuring the storage backend.
warnings.warn(

Environment (please complete the following information):

  • OS: Ubuntu Lunar Lobster (development branch) -
  • Kernel: Linux 6.2.0-18-generic |
  • Gnome version: 44.0
  • Python version: 3.11.2
  • Calibre-Web version: 0.6.20 Beta:
  • Special Hardware: Oracle VirtualBox
  • Browser: Firefox 111.0 (64-bit)

Additional context
I tried to install calibre-web-0.6.19 before with much worth results.
Any help is appreciated

Thank you

@OzzieIsaacs
Copy link
Collaborator

Please try the newest commit version, it should work then.
If not please try to delete gdrive.db in calibre-web root folder and try again.

@UsamaFoad
Copy link
Author

Wow! That is impressive.

I installed linuxserver/calibre-web 6.19 on docker, changed the update channel to Nightly, and updated the image. That causes the calibre-web to stop working because of the absence of- flask_limiter. So, I pip-installed the flask_limiter and checked for updates again. When I noticed your new commit, I closed the whole docker and installed the new version; it worked perfectly without deleting the db file.
I confirm the problem is resolved now. @OzzieIsaacs, you are the best!

Thank you so much.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants