sigma67 / spotify_to_ytmusic

Clone a Spotify playlist to YouTube Music
MIT License
790 stars 65 forks source link

Setup Failing #50

Closed ChiliPaneer closed 1 year ago

ChiliPaneer commented 1 year ago

Version: 0.1.2 Device: Macbook Air M1 MacOS Version: 12.0.1 Python version: 3.11.1

When following the instructions: pip install spotify_to_ytmusic

It installs successfully: Successfully installed spotify_to_ytmusic-0.1.2 spotipy-2.23.0 ytmusicapi-1.0.0

Then when I run spotify_to_ytmusic setup I get to the menu:

Choose which API to set up
(1) Spotify
(2) YouTube
(3) both

And regardless of the option I select I get the following error:

Traceback (most recent call last):
  File "/Users/username/.pyenv/versions/3.11.1/bin/spotify_to_ytmusic", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/Users/username/.pyenv/versions/3.11.1/lib/python3.11/site-packages/spotify_to_ytmusic/main.py", line 79, in main
    args.func(args)
  File "/Users/username/.pyenv/versions/3.11.1/lib/python3.11/site-packages/spotify_to_ytmusic/controllers.py", line 80, in setup
    setup_func(args.file)
  File "/Users/username/.pyenv/versions/3.11.1/lib/python3.11/site-packages/spotify_to_ytmusic/setup.py", line 27, in setup
    setup_spotify()
  File "/Users/username/.pyenv/versions/3.11.1/lib/python3.11/site-packages/spotify_to_ytmusic/setup.py", line 38, in setup_spotify
    settings = Settings()
               ^^^^^^^^^^
  File "/Users/username/.pyenv/versions/3.11.1/lib/python3.11/site-packages/spotify_to_ytmusic/settings.py", line 15, in __init__
    raise FileNotFoundError(
FileNotFoundError: No settings.ini not found! Please run 

 spotify_to_ytmusic setup

This seems circular. Maybe I'm doing something wrong, but it seems like the setup is dependent on Settings(), which is dependent on a settings.ini

kszkristof commented 1 year ago

Same here, Windows 11 (build 22621.1555) with Python 3.11.3 and pip 22.3.1

LafQuentin commented 1 year ago

If you create the settings.ini file in the folder where you run the script, it fixes the problem, the ini file should look like this:

[youtube]
headers = headers_json_from_browser
user_id =

[spotify]
client_id = id_from_developer_console
client_secret = secret_from_developer_console
sigma67 commented 1 year ago

Yeah that should not happen. I'll have a look.