Jump to content

[PLUGIN] Python 3 for UNRAID (6.11+)


Rysz

Recommended Posts

Python 3 for UNRAID

Installs python3, pip and setuptools onto Unraid systems. No library issues, fully compatible with Unraid 6 and 7.

This can be a drop-in replacement for the deprecated Python 3 plugin for all OS versions 6.11+ (also includes Unraid 7).

 

This plugin aims to provide a simple and functional python3 installation, including pip and setuptools for any package needs.

It is tailored to Unraid's operating system libraries and makes do without any dependency madness and/or missing libraries.

 

Some developers (me in part also) think that Python has no real place on the Unraid OS itself.

But there is continued community interest and people have been resorting to desperate means to install it.

The amount of people using outdated or simply incompatible packages with missing libraries has been on the rise.

 

I therefore wanted to provide users in urgent need of Python a safe and OS-compatible package to avoid messing up their systems.
Such users can now use this plugin instead of installing random, incompatible and/or deprecated Slackware packages on their systems.

 

CURRENT PACKAGE VERSIONS (as of 19.09.2024)
The backend branch can be chosen within the plugin's settings page in GUI.

 

"DEFAULT" backend branch / Unraid OS 6.11.0 - 6.13.0

Python3 Backend: python3-3.11.10-x86_64-1dw_slack15.0

Python3 pip Backend: python-pip-24.2-x86_64-1dw_slack15.0

Python3 Setuptools Backend: python-setuptools-75.1.0-x86_64-1dw_slack15.0

"DEFAULT" backend branch / Unraid OS 7.0.0 -

Python3 Backend: python3-3.11.10-x86_64-1

Python3 pip Backend: python-pip-24.2-x86_64-1

Python3 Setuptools Backend: python-setuptools-75.1.0-x86_64-1

 

"LATEST" backend branch / Unraid OS 6.11.0 - 6.13.0

Python3 Backend: python3-3.12.6-x86_64-1dwl_slack15.0

Python3 pip Backend: python-pip-24.2-x86_64-1dwl_slack15.0

Python3 Setuptools Backend: python-setuptools-75.1.0-x86_64-1dwl_slack15.0

"LATEST" backend branch / Unraid OS 7.0.0 -

Python3 Backend: python3-3.12.6-x86_64-1dwl_slack15.1

Python3 pip Backend: python-pip-24.2-x86_64-1dwl_slack15.1

Python3 Setuptools Backend: python-setuptools-75.1.0-x86_64-1dwl_slack15.1

 

Do not expect this plugin to always be on the very latest Python version.

My goal is not having all bleeding-edge, but a selected combination of packages that fully work for your OS version.

 

Installable via Community Applications

 

  • Thanks 2
Link to comment
  • Rysz changed the title to [PLUGIN] Python 3 for UNRAID (6.11+)
48 minutes ago, sage2050 said:

Is this different from the version in the nerd tools pack?

 

I -get- why people say python shouldn't be installed directly, but I frequently run into permissions issues trying to run scripts from docker containers. running scripts in venvs has always just seemed to work better.

 

Yes, this plugin provides different packages tailored to your Unraid OS version for full functional and OS library compatibility.

 

NerdTools/NerdPack has been abandoned by its maintainers and is now pretty much sitting deprecated for months, it was recently announced that it may be removed from Community Applications for future OS versions. NerdTools/NerdPack just drops a static package in a location and doesn't care about your OS version or if it's breaking anything else. In fact most of the NerdTools/NerdPack packages are incompatible with Unraid 7 entirely, and people were running into missing program libraries and other problems.

 

  • Like 1
Link to comment
54 minutes ago, sage2050 said:

Is this different from the version in the nerd tools pack?

 

I -get- why people say python shouldn't be installed directly, but I frequently run into permissions issues trying to run scripts from docker containers. running scripts in venvs has always just seemed to work better.

lxc ...

 

 

also if you are looking to add python to the unraid host you need to go after python setup tools...

dlandons python 2 and 3 don't working for unraid 7 and will be removed.

that leaves the extra folder for python.
REMOVED

python is doing some werid builds and a updated python pre build hasn't been made.
 

Link to comment
9 minutes ago, bmartino1 said:

lxc ...

 

 

also if you are looking to add python to the unraid host you need to go after python setup tools...

dlandons python 2 and 3 don't working for unraid 7 and will be removed.

that leaves the extra folder for python.
REMOVED

python is doing some werid builds and a updated python pre build hasn't been made.
 

 

Messages like this are a prime example for the reasons I provide this plugin.

The package you linked is not compatible with Unraid 7, it's a Slackware 15.0 package.

Please do not hijack my plugin support thread with links to incompatible Slackware packages.

If you need Python on Unraid 7 you can install this plugin, it will provide fully compatible packages.

 

  • Like 1
  • Thanks 1
Link to comment
6 minutes ago, Rysz said:

 

Messages like this are a prime example for the reasons I provide this plugin.

The package you linked is not compatible with Unraid 7, it's a Slackware 15.0 package.

Please do not hijack my plugin support thread with links to random Slackware packages.

If you need Python on Unraid 7 you can install this plugin, it will provide fully compatible packages.

 


?Not hyjacking thread...
slackware current is running slack ware 15. If you are running the python 3 plugin great!... last I checked python 3 plugin on unraid 7 was not working and is still not working...

you can confirm unrad current and what linux slackware version by running.
i

cat /etc/slackware-version



image.png.f87be2d3f9c928a13da109d4007ee8b6.png


as python 3 is a complicated issue on slack ware.
to use the extra folder one goes after a x86_64 of the application...

Edited by bmartino1
Link to comment
4 minutes ago, bmartino1 said:


?Not hyjacking thread...
slackware current is running slack ware 15. If you are running the python 3 plugin great!... last I checked python 3 on unraid 7 was not working and is still not working...

you can confirm unrad current and what linux slackware version by running.
 

cat /etc/slackware-version



image.png.f87be2d3f9c928a13da109d4007ee8b6.png


as python 3 is a complicated issue on slack ware.
to use the extra folder one goes after a x86_64 of the application...

 

Unraid 7 is running Slackware 15.0+, that's future 15.1, from the -current branch.

Python 3 works just fine on Unraid 7, if compiled against the respective OS libraries.

The packages you linked are not compiled against the correct libraries and will not work.

 

Python is not a complicated issue on Slackware, it works like any other piece of software.

The point of the plugin is to do all this thinking for you and install the correct version for your OS.

 

  • Like 1
Link to comment
7 hours ago, Rysz said:

Python3 Backend: python3-3.11.10-x86_64-1dw_slack15.0

Python3 pip Backend: python-pip-24.2-x86_64-1dw_slack15.0

Python3 Setuptools Backend: python-setuptools-75.1.0-x86_64-1dw_slack15.0

How were these compiled, or where did these builds come from? Last I checked, there weren't public Slackware or Unraid SlackBuild files or precompiled TXZ files around. I looked through your Github repo https://github.com/desertwitch/python-unRAID but didn't see build information in there, just the compiled TXZs

  

Link to comment
12 minutes ago, kubed_zero said:

How were these compiled, or where did these builds come from? Last I checked, there weren't public Slackware or Unraid SlackBuild files or precompiled TXZ files around. I looked through your Github repo https://github.com/desertwitch/python-unRAID but didn't see build information in there, just the compiled TXZs

  

 

These were compiled by me using the official Slackware build scripts, available in their repositories:

 

https://mirrors.slackware.com/slackware/slackware64-15.0/source/

and

https://mirrors.slackware.com/slackware/slackware64-current/source/

 

The Unraid 7 packages are the official Slackware ones from their current branch, also available in those repositories.

 

Link to comment
37 minutes ago, MAM59 said:

just curious: why do you "ship" an outdated (3.11) version of python3?

Current is 3.12, development is 3.13 already.

(yeah I know, its hard to get 3.12 to fully run on crippled linuxes, but there is a way... )

 

 

Because that is the latest stable release. It's less than two weeks old too...

 

Link to comment
11 minutes ago, MAM59 said:

Nope

3.12 is stable (but not available for every os yet)

 

(you need 3.12 to get latest Home Assistant to run for instance, else it would not be that problematic)

 

 

grafik.png.489ae9057c8da031328e28a2783b24c9.png

 

Even if Python 3.12. were also considered stable or stable enough, it's still in active development (bugfix cycle).

Slackware-current uses 3.11.10, as outlined in the initial post this plugin is not about bleeding-edge but full OS compatibility.

Python 3.11.10 is less than two weeks old... it should be recent enough to get most things done without running into issues.

In general I'd use Python on Unraid for smaller, daily maintenance things and put huge environments like HA into VMs, Docker...

 

  • Upvote 1
Link to comment
2 minutes ago, Rysz said:

Slackware-current uses 3.11.10

yeah because 3.12 demands many other packets to be updated before. At least sqlite3, bzip2 and many more. I've fought against it yesterday because I wanted to get rid of the HA docker and run it natively on a raspi5. The update orgy took me the whole day...

(and yes, i hate dockers and so on)

I guess slackware will also have a lot of problems with this.

 

And still no, its not beta anymore for some time already

CDAF09E4-BF10-436B-BC9A-84B75E4EF320.png.9a816a471d32ac9f070783cccb183915.png

so be prepared your well meant plugin will soon need updates already...

 

(but I agree, for the simple user 3.11 will be fully suffient, the new features almost all deal with larger server project like HA and so on).

(btw take a look into the current HA docker,,,)

D7E983E9-BB90-4FC1-9986-6CAC51A2B089.png.90f299261fd6a96cf8db239ada490efc.png

 

Link to comment
21 minutes ago, MAM59 said:

yeah because 3.12 demands many other packets to be updated before. At least sqlite3, bzip2 and many more. I've fought against it yesterday because I wanted to get rid of the HA docker and run it natively on a raspi5. The update orgy took me the whole day...

(and yes, i hate dockers and so on)

I guess slackware will also have a lot of problems with this.

 

And still no, its not beta anymore for some time already

CDAF09E4-BF10-436B-BC9A-84B75E4EF320.png.9a816a471d32ac9f070783cccb183915.png

so be prepared your well meant plugin will soon need updates already...

 

(but I agree, for the simple user 3.11 will be fully suffient, the new features almost all deal with larger server project like HA and so on).

(btw take a look into the current HA docker,,,)

D7E983E9-BB90-4FC1-9986-6CAC51A2B089.png.90f299261fd6a96cf8db239ada490efc.png

 

 

Sorry man, I don't know what else to say here, but latest doesn't automatically mean greatest (or stable for that matter, but I never claimed it's beta either). It certainly won't "soon need updates already" (with a 2 weeks old version), because that is not the point of the plugin at all, neither is it running Home Assistant. I'm not providing this plugin for running huge environments on Unraid OS or power users and tinkerers expecting high-velocity version turnovers. The idea of the plugin is full OS compatibility, low-maintenance stability and careful version turnovers so that people can rely on their environments long-term with very little interaction necessary (as expected on a storage server). There are better ways to run larger environments than directly on bare-metal Unraid OS, yet Python can still be very useful for self-scripted and storage- or network-related maintenance tasks which this plugin is foremost aimed at (and well capable of).

 

  • Like 1
Link to comment
3 hours ago, MAM59 said:

Ok, I just was curious to know WHY you did it. And I totally agree that it will be sufficient for the most users.

Peace ☮️

 

So that everyone can be happy, I have added to the plugin settings a backend branch switch, where one can decide on the Python branch.

 

The default branch "default" remains for full compatibility, stability and requiring little user interaction (has slower version turnover).

But now the optional branch "latest" was also added for more bleeding-edge and featureful recent versions (has faster version turnover). 🙂 

 

"DEFAULT" backend branch / Unraid OS 6.11.0 - 6.13.0

Python3 Backend: python3-3.11.10-x86_64-1dw_slack15.0

Python3 pip Backend: python-pip-24.2-x86_64-1dw_slack15.0

Python3 Setuptools Backend: python-setuptools-75.1.0-x86_64-1dw_slack15.0

"DEFAULT" backend branch / Unraid OS 7.0.0 -

Python3 Backend: python3-3.11.10-x86_64-1

Python3 pip Backend: python-pip-24.2-x86_64-1

Python3 Setuptools Backend: python-setuptools-75.1.0-x86_64-1

 

"LATEST" backend branch / Unraid OS 6.11.0 - 6.13.0

Python3 Backend: python3-3.12.6-x86_64-1dwl_slack15.0

Python3 pip Backend: python-pip-24.2-x86_64-1dwl_slack15.0

Python3 Setuptools Backend: python-setuptools-75.1.0-x86_64-1dwl_slack15.0

"LATEST" backend branch / Unraid OS 7.0.0 -

Python3 Backend: python3-3.12.6-x86_64-1dwl_slack15.1

Python3 pip Backend: python-pip-24.2-x86_64-1dwl_slack15.1

Python3 Setuptools Backend: python-setuptools-75.1.0-x86_64-1dwl_slack15.1

 

  • Thanks 1
Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...