this post was submitted on 25 May 2024
17 points (100.0% liked)
Linux
48375 readers
1448 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
pipx won't work for that, it's a library.
If you are working on your own project/script, you should use virtualenv for development and install all required libraries there.
If you need it because some system installed application or part of your system does not work without it then... you are in bad place - pip is python package manager primarily used for general python development (installing depending packages, and in theory also for packaging python projects) but it should never be used as system wide package manager - you will break stuff (especially when used with sudo).
I have written a little python script with said data-picker. Therefore I need tkcalendar to run my script
You will want to use virtualenv, it creates isolated "workspace" so that system (python) packages do not conflict or mix.
https://docs.python.org/3/tutorial/venv.html
OK then I have to read about it.
I am a bit confused because the installation with pip on Linux Mint was no problem and didnt throw any errors. I could use my script in the IDE and from console.
On Tumbleweed it seems to be a lot different. From the first look I have to activate the virt. env
Do I have to do this everytime I start the script via console?
Using pip to install packages outside of venv was always a risk, (newer) pip now has this mechanism to really drive the point home that this can break stuff.
Yes, one way to get rid of this requirement is to package the script as binary/executable package (add pyproject.toml with some sane defaults and with proper
[project.scripts]
) and then install the project using pipx -pipx install -e path/to/the/project/
, the-e
flag stands for editable and is nice to have here as you won't have to reinstall everytime you change the script.What pipx does is that it creates the local virtualenv, installs everything the package declares as needed and adds a special executable script into location like
~/.local/bin/
that first sources the venv and then starts the entry script - keeping everything isolated.Holy shit!
**Thank you very much! **
You did help me big time.
I'm understanding more and was successfull in installing tkcalendar and pyyaml in a virual Enviroment in VisualStudioCode. For now I can use my script.