diff --git a/spyder/plugins/updatemanager/widgets/update.py b/spyder/plugins/updatemanager/widgets/update.py index 54015106d0a..c621ab5c07e 100644 --- a/spyder/plugins/updatemanager/widgets/update.py +++ b/spyder/plugins/updatemanager/widgets/update.py @@ -594,7 +594,7 @@ def manual_update_messagebox(parent, latest_release, channel): ).format(dont_mix_pip_conda_video) else: if channel == 'pkgs/main': - channel = '' + channel = '-c defaults' else: channel = f'-c {channel}' diff --git a/spyder/plugins/updatemanager/workers.py b/spyder/plugins/updatemanager/workers.py index 5a95256935a..fe181845237 100644 --- a/spyder/plugins/updatemanager/workers.py +++ b/spyder/plugins/updatemanager/workers.py @@ -172,6 +172,7 @@ def __init__(self, stable_only): self.releases = None self.update_available = False self.error = None + self.channel = None def _check_update_available(self): """Checks if there is an update available from releases.""" @@ -200,12 +201,15 @@ def start(self): error_msg = None url = 'https://api.github.com/repos/spyder-ide/spyder/releases' - # If Spyder is installed from defaults channel (pkgs/main), then use - # that channel to get updates. The defaults channel can be far behind - # our latest release - if is_anaconda(): - channel, channel_url = get_spyder_conda_channel() - if channel == "pkgs/main": + if not is_conda_based_app(): + self.channel = "pypi" # Default channel if not conda + if is_anaconda(): + self.channel, channel_url = get_spyder_conda_channel() + + # If Spyder is installed from defaults channel (pkgs/main), then + # use that channel to get updates. The defaults channel can be far + # behind our latest release. + if self.channel == "pkgs/main": url = channel_url + '/channeldata.json' headers = {}