35

So, I have a python script I'd like to run from time to time from the CLI (on Linux) that resides inside a venv. What's the recommended/intended way to do this?
Write a wrapper shell script and put it inside a $PATH-accessible directory that activates the virtual environment, runs the python script and deactivates the venv again? This seems a bit convoluted, but I can't think of a better way.

you are viewing a single comment's thread
view the rest of the comments
[-] lakeeffect@lemmy.world 26 points 2 months ago

Use venv/bin/python app.py to run it.

[-] Schmerzbold@feddit.org 5 points 2 months ago

That works nicely. Thanks 👍

[-] Andy@programming.dev 2 points 2 months ago

I use my own Zsh project (zpy) to manage venvs stored like ~/.local/share/venvs/HASH-OF-PROJECT-PATH/venv, so use zpy's vpy function to launch a script with its associated Python executable ad-hoc, or add a full path shebang to the script with zpy's vpyshebang function.

vpy and vpyshebang in the docs

If anyone else is a Zsh fan and has any questions, I'm more than happy to answer or demo.

[-] Violet_McQuasional@feddit.uk 2 points 2 months ago

This. I've experimented by using pex before and one or two other means of executable python wrappers and they suck. Just do as lakeeffect says.

[-] MajorHavoc@programming.dev 1 points 2 months ago

Yep. This is the way.

[-] kionite231@lemmy.ca 1 points 2 months ago

I think the path to venv should be absolute right?

[-] lakeeffect@lemmy.world 1 points 2 months ago

Yeah, for the most part but really depends on what you’re trying to do specifically.

[-] logging_strict@programming.dev 1 points 2 months ago

Just activate the venv and then put it out of your mind. Can activate it with either a relative or absolute path. Doesn't matter which

this post was submitted on 23 Jun 2024
35 points (97.3% liked)

Python

6219 readers
22 users here now

Welcome to the Python community on the programming.dev Lemmy instance!

📅 Events

October 2023

November 2023

PastJuly 2023

August 2023

September 2023

🐍 Python project:
💓 Python Community:
✨ Python Ecosystem:
🌌 Fediverse
Communities
Projects
Feeds

founded 1 year ago
MODERATORS