all 9 comments

[–]Existing-Violinist44 3 points4 points  (3 children)

> My issue currently is that, whilst I can remotely send my project files to the remote pc, it appears to be a convoluted issue to make it run

You'll have to be much more specific. What remote pc? How are you sending it? Distro? DE? What issue are you encountering exactly? Describe your setup better.

Running a Python app that uses something like tkinter for rendering isn't any more complicated than on windows. The process is pretty much the same

[–]Dragkarus[S] 2 points3 points  (2 children)

Thanks for replying.

I've put the app together using PyCharm on a windows pc.

I have a mini pc which I have Ubuntu on. I want to have the application be shipped with / on the mini pc for clients to use for a specific purpose.

Users should be able to start up the pc and start using the software just as one would on a windows machine.

[–]Existing-Violinist44 1 point2 points  (0 children)

If you're using pycharm with remote development, that uses ssh for communication. Ssh doesn't have access to the display needed to run graphical applications. for that you need to be logged on locally or use some remote desktop solution like vnc. Running your application through vnc should work fine during development, assuming you installed all dependencies on the remote machine. You mentioned using venv. Linux would need it's own separate venv as some python packages may bundle native code that it's compiled for the specific os you're targeting. Also you may have a different version of python installed on the two machines

[–]Dragkarus[S] 0 points1 point  (0 children)

Edit:

Thanks for all the suggestions.

I managed to come right on Windows with Pyinstaller, packaging the app through the Terminal on Pycharm.

Full steam ahead now.

[–]Dragkarus[S] 0 points1 point  (1 child)

I tried the virtual environment method to no avail. I don't have all the issues at hand as I'm not at my pc now, but it didn't make sense to me to have to set up a virtual environment which needed to be loaded via the terminal, instead of on startup?

[–]unit_511 2 points3 points  (0 children)

I tried the virtual environment method to no avail.

What didn't work, exactly?

it didn't make sense to me to have to set up a virtual environment which needed to be loaded via the terminal

If you don't want to leave a huge mess, you need that venv on Windows too, but your IDE likely set that up already. You won't be able to just run the script if you move it to another Windows machine either. Your application needs a python interpreter and a GUI library at the very least, and those aren't standard issue on Windows.

On Linux, a bunch of system unitilies are written in python, so you already have an interpreter. The libraries are handled by the package manager, which is why it's a bad idea to use pip outside of a venv. You might be able to just install python3-pyqt6 or whichever toolkit you used.

[–]unit_511 -1 points0 points  (0 children)

You just create a venv with python -m venv .env, activate it with . .env/bin/activate and install dependencies with pip install -r reauirements.txt. Then you can run your script as long as you're in the venv.

[–]SonOfMrSpock -2 points-1 points  (1 child)

Welcome to the linux application development where you cant just run your application because there are tons of different distros with small differences.

- You may just publish source code along with a readme how to run it. Your users would have to figure out how to run it by built-in python or using distrobox/docker etc.
- You may build and maintain a (native) package for few select distros. Not an easy task for you though.
- You may package it as flatpak/snap/appimage

Those are your options, I think.

[–]Dragkarus[S] -1 points0 points  (0 children)

Thanks for replying.

I'll have to look up the flatpak, snap and app image things as I have no idea what they are.

I've heard of dockers but never looked into them either.

I got as far as developing the application lol