-
Notifications
You must be signed in to change notification settings - Fork 51
Open
Description
Even after pip3 install -r requirements.txt, pinnwand fails to start if we specify a PostgreSQL database (it probably also affects MySQL?) because there's no psycopg2 module.
The error is:
Traceback (most recent call last):
File "/home/pastebins/virtualenv/bin/pinnwand", line 5, in <module>
from pinnwand.__main__ import main
File "/home/pastebins/virtualenv/lib/python3.12/site-packages/pinnwand/__main__.py", line 3, in <module>
main()
File "/home/pastebins/virtualenv/lib/python3.12/site-packages/click/core.py", line 1161, in __call__
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/pastebins/virtualenv/lib/python3.12/site-packages/click/core.py", line 1082, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File "/home/pastebins/virtualenv/lib/python3.12/site-packages/click/core.py", line 1694, in invoke
super().invoke(ctx)
File "/home/pastebins/virtualenv/lib/python3.12/site-packages/click/core.py", line 1443, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/pastebins/virtualenv/lib/python3.12/site-packages/click/core.py", line 788, in invoke
return __callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/pastebins/virtualenv/lib/python3.12/site-packages/pinnwand/command.py", line 39, in main
engine = manager.DatabaseManager.get_engine()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/pastebins/virtualenv/lib/python3.12/site-packages/pinnwand/database/manager.py", line 22, in get_engine
cls._engine = create_engine(configuration.database_uri)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<string>", line 2, in create_engine
File "/home/pastebins/virtualenv/lib/python3.12/site-packages/sqlalchemy/util/deprecations.py", line 281, in warned
return fn(*args, **kwargs) # type: ignore[no-any-return]
^^^^^^^^^^^^^^^^^^^
File "/home/pastebins/virtualenv/lib/python3.12/site-packages/sqlalchemy/engine/create.py", line 602, in create_engine
dbapi = dbapi_meth(**dbapi_args)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/pastebins/virtualenv/lib/python3.12/site-packages/sqlalchemy/dialects/postgresql/psycopg2.py", line 696, in import_dbapi
import psycopg2
ModuleNotFoundError: No module named 'psycopg2'
Installing psycopg2-binary fixes the issue.
It could probably be added to the requirements.txt file?
Metadata
Metadata
Assignees
Labels
No labels