spyder-ide / spyder

Official repository for Spyder - The Scientific Python Development Environment
https://www.spyder-ide.org
MIT License
8.22k stars 1.59k forks source link

Link to Linux experimental installer not working and questions - Linux (CentOS 7+): Linux-x86_64.sh (Experimental) #20397

Open texadactyl opened 1 year ago

texadactyl commented 1 year ago

The link in the release 5.4.2 ---> 404.

IMHO, you should put the experimental sh file under spyder/installers/. By the way, where is it?

dalthviz commented 1 year ago

Hi @texadactyl could you try again? It takes sometime to build the assets to the GitHub release for the links to work. I tried the link and seems like is working now. The installers are build using github actions after the GitHub release is created: https://github.com/spyder-ide/spyder/actions/runs/3953113492

Also, the installers can be downloaded from the Assets section of the GitHub release:

image

Or the Github Actions Artifacts page of the workflow run (https://github.com/spyder-ide/spyder/actions/runs/3953113492#artifacts):

image

texadactyl commented 1 year ago

Ok, found it. It would be nice to see some documentation of the experiment. What are you hoping to achieve? I am just curious.

I realize that this is an experiment but a 523 MB shell script seems to be a bit much. Impractical to inspect. I would prefer something like spyder/installer/macos or spyder/installer/windows organization.

What is the script building or installing? A Linux executable? Python packages? If the later, this is already well-covered on pypi.org.

Ok, no more guessing.

texadactyl commented 1 year ago

I ran the script for fun. Unfortunately, it requires conda. Pity that. I have nothing against anaconda or miniconda but my partners and I create pypi packages. One Python package manager is enough to contend with when you are building complex systems.

I'm still interested in answers to my previous questions.

dalthviz commented 1 year ago

It would be nice to see some documentation of the experiment. What are you hoping to achieve? I am just curious.

Basically we are exploring a migration from the current way we create the Windows and macOS standalone installer to a conda-based approach. Since the tool we are using (constructor) allows to create a installer for Linux we are building it too. We choosed to put them EXPERIMENTAL since is possible that errors that we are unaware of appear while using them.

What is the script building or installing? A Linux executable? Python packages? If the later, this is already well-covered on pypi.org.

In the case of Linux, the script as far as I know installs a standalone conda executable with an env with Spyder in it (that's why it has such a file size) and setups some elements like a shortcut to launch Spyder from that installation/created environment.

Unfortunately, it requires conda. Pity that. I have nothing against anaconda or miniconda but my partners and I create pypi packages.

The idea of this script and in general the standalone installers is to offer an easy way for beginners (in Spyder but also Python) to install Spyder without worrying about how to setup Python or a package manager.

Hopefully these answers make the idea we have behind these experimental standalone installers based on conda (constructor) more clear and in general the idea behind why we have the current standalone installers we have been providing for Windows and macOS that are built using other tools (pynsist and py2app).

Pinging @ccordoba12 and @mrclary just in case they want to complement/correct the answers above or provide more info about the standalone installers

texadactyl commented 1 year ago

Thanks, Daniel

On Thu, Jan 19, 2023, 12:58 PM Daniel Althviz Moré @.***> wrote:

It would be nice to see some documentation of the experiment. What are you hoping to achieve? I am just curious.

Basically we are exploring a migration from the current way we create for Windows and macOS standalone installer to a conda-based approach. Since the tool we are using (constructor https://github.com/conda/constructor) allows to create a installer for Linux we are building it too. We choosed to put them EXPERIMENTAL since is possible that errors that we are unaware of appear while using them.

What is the script building or installing? A Linux executable? Python packages? If the later, this is already well-covered on pypi.org.

In the case of Linux, the script as far as I know installs a standalone conda executable with an env with Spyder in it (that's way it has such a file size) and setups some elements like a shortcut to launch Spyder from that installation/created environment.

Unfortunately, it requires conda. Pity that. I have nothing against anaconda or miniconda but my partners and I create pypi packages.

The idea of this script and in general the standalone installers is to offer an easy way for beginners (in Spyder but also Python) to install Spyder without worrying about how to setup Python or a package manager.

Hopefully these answers make the idea we have behind these experimental standalone installers based on conda (constructor) more clear and in general the idea behind why we have the current standalone installers we have been providing for Windows and macOS that are built using other tools ( pynsist https://github.com/takluyver/pynsist and py2app https://github.com/ronaldoussoren/py2app).

Pinging @ccordoba12 https://github.com/ccordoba12 and @mrclary https://github.com/mrclary just in case they want to complement/correct the answers above or provide more info about the standalone installers

— Reply to this email directly, view it on GitHub https://github.com/spyder-ide/spyder/issues/20397#issuecomment-1397525703, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACWLLZBANCUBWN2OWRAQ3ZTWTGMGRANCNFSM6AAAAAAT7TFNOA . You are receiving this because you were mentioned.Message ID: @.***>

texadactyl commented 1 year ago

Thanks, Daniel

ccordoba12 commented 1 year ago

What are you hoping to achieve? I am just curious.

Another important idea we hope to achieve, besides what @dalthviz already mentioned, is to allow users to easily install third-party Spyder plugins (e.g. Spyder-notebook or Spyder-unittest) in the installer environment. That's really hard with our current installers because we use pip to build them, Spyder plugins can potentially depend on any Python package, pip is not the best at solving dependencies (but it has improved a lot lately) and if something fails on installation, the installer will be broken. By using conda, we can have a much better control over that.

I realize that this is an experiment but a 523 MB shell script seems to be a bit much

That's not a shell script, it's a shell installer, i.e. it comes with all the necessary conda packages to run Spyder, regardless if they are provided by the user's Linux distro or not (that's why it's so big). Since it's not possible to always count on the presence of Qt, Gtk or another graphical toolkit on Linux, the simplest and most robust way to provide an installer for it is using this method.