spl0k / supysonic

Supysonic is a Python implementation of the Subsonic server API.
https://supysonic.readthedocs.io
GNU Affero General Public License v3.0
264 stars 58 forks source link

Installation Error #217

Open qrenz opened 3 years ago

qrenz commented 3 years ago

Hello,

I'm using a fresh install of Python 3.9 and trying to install using pip on windows and keep getting these errors. This happens when I run "supysonic-cli user add MyUserName"

also happens on linux

Traceback (most recent call last):
  File "c:\python39\lib\site-packages\pony\orm\dbapiprovider.py", line 55, in wrap_dbapi_exceptions
    try: return func(provider, *args, **kwargs)
  File "c:\python39\lib\site-packages\pony\orm\dbapiprovider.py", line 230, in connect
    return provider.pool.connect()
  File "c:\python39\lib\site-packages\pony\orm\dbapiprovider.py", line 351, in connect
    pool._connect()
  File "c:\python39\lib\site-packages\pony\orm\dbproviders\sqlite.py", line 660, in _connect
    pool.con = con = sqlite.connect(filename, isolation_level=None, **pool.kwargs)
sqlite3.OperationalError: unable to open database file

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Python39\Scripts\supysonic-cli-script.py", line 33, in <module>
    sys.exit(load_entry_point('supysonic==0.6.3', 'console_scripts', 'supysonic-cli')())
  File "c:\python39\lib\site-packages\supysonic\cli.py", line 446, in main
    init_database(config.BASE["database_uri"])
  File "c:\python39\lib\site-packages\supysonic\db.py", line 660, in init_database
    metadb.bind(**settings)
  File "c:\python39\lib\site-packages\pony\orm\core.py", line 774, in bind
    self._bind(*args, **kwargs)
  File "c:\python39\lib\site-packages\pony\orm\core.py", line 796, in _bind
    self.provider = provider_cls(*args, **kwargs)
  File "c:\python39\lib\site-packages\pony\orm\dbproviders\sqlite.py", line 344, in __init__
    DBAPIProvider.__init__(provider, *args, **kwargs)
  File "c:\python39\lib\site-packages\pony\orm\dbapiprovider.py", line 130, in __init__
    connection, is_new_connection = provider.connect()
  File "<string>", line 2, in connect
  File "c:\python39\lib\site-packages\pony\orm\dbapiprovider.py", line 72, in wrap_dbapi_exceptions
    raise OperationalError(e)
pony.orm.dbapiprovider.OperationalError: unable to open database file
vincentDcmps commented 3 years ago

Hello How do you configure your database path Because by default she is set to: ; Default: sqlite:////tmp/supysonic/supysonic.db And this path does't exist on windows I m not sure supysonic have been test to work on windows system

spl0k commented 3 years ago

Hello @qrenz

Did you set the database path properly? This is described in the documentation. Since you're using SQLite make sure it is pointing to an accessible writable path. Absolute path are recommended, you have some examples in the link above.

The default value mentioned as a comment in the sample (and by @vincentDcmps) is a bit misleading as it should pick a valid temporary path for the platform you're running on. So even if you didn't set anything it should work, but it's best to configure it to a known location. As you're running on Windows, the configuration file should be located at C:\Users\YOUR USERNAME HERE\.supysonic (note the leading dot) or supysonic.conf in the directory you're running the commands from.

Again Supysonic hasn't be thoroughly tested on Windows, but I don't see any reason why it shouldn't work. Windows is actually the platform I use for development, even though I'm more used to deploy Supysonic on Linux environments. If you encounter any problem (besides this one) don't hesitate to open a new issue.