View previous topic :: View next topic |
Author |
Message |
Vieri l33t
Joined: 18 Dec 2005 Posts: 895
|
Posted: Wed Oct 16, 2024 5:20 pm Post subject: Perl script: run Python env activate script |
|
|
Hi,
I'd like a Perl script to properly run a program within a Python virtual environment and retrieve its stdout text.
Something like:
Code: | `source /opt/custom_pyvenvs/program/bin/activate param1 param2' |
If I try to run this in Perl I get a "source: No such file or directory" error.
I know source is a BASH built-in command, so can I run the "activate" script directly from the Perl script within a bash shell even though the activate script is supposed to be "sourced"?
Regards,
Vieri |
|
Back to top |
|
|
bstaletic Guru
Joined: 05 Apr 2014 Posts: 342
|
Posted: Wed Oct 16, 2024 5:31 pm Post subject: |
|
|
Sourcing a bash script in a perl interpreter makes no sense.
On the other hand, replicating what the activate script does is almost trivial:
- Define $VIRTUAL_ENV to be the root directory of the virtual environment
- Prepend $VIRTUAL_ENV/bin to $PATH
- Mess with your $PS1
- Define deactivate function to undo everything.
I'm sure perl has its way of altering the environment. |
|
Back to top |
|
|
|