[Pythonmac-SIG] Lanchd + virtualenv
Orestis Markou
orestis at orestis.gr
Fri Sep 25 17:01:26 CEST 2009
No need for a wrapper script. In recent versions of virtualenv, you
can do this:
activate_this = 'path/to/virtualenv/bin/activate_this.py'
if os.path.exists(activate_this):
execfile(activate_this, dict(__file__=activate_this))
On 25 Σεπ 2009, at 3:56 μ.μ., Gabriel Rossetti wrote:
> Hello everyone,
>
> I would like to create a Launchd plist entry to start a virtualenv
> and run a python project. I created my plist, but I'm not sure how
> to get it to activate the virtualenv and run the program. I thought
> that maybe I could create two <dict> emtries :
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
> "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
> <plist version="1.0">
> <dict>
> <key>Label</key>
> <string>com.example.virtualenv</string>
> <key>Program</key>
> <string>source</string>
> <key>ProgramArguments</key>
> <array>
> <string>/path/to/myvirtualenv/bin/activate</string>
> </array>
> <key>RunAtLoad</key>
> <true/>
> </dict>
> <dict>
> <key>Label</key>
> <string>com.example.app</string>
> <key>Program</key>
> <string>python</string>
> <key>ProgramArguments</key>
> <array>
> <string>/path/to/myproj/launcher.py</string>
> <string>start</string>
> </array>
> <key>RunAtLoad</key>
> <true/>
> </dict>
> </plist>
>
>
> but I'm not sure I can do that, and I have 2 programs to run for my
> project, so would I create 3<dict> entries like so :
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
> "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
> <plist version="1.0">
> <!-- The virtualenv -->
> <dict>
> <key>Label</key>
> <string>com.example.virtualenv</string>
> <key>Program</key>
> <string>source</string>
> <key>ProgramArguments</key>
> <array>
> <string>/path/to/myvirtualenv/bin/activate</string>
> </array>
> <key>RunAtLoad</key>
> <true/>
> </dict>
> <!-- My app 1 -->
> <dict>
> <key>Label</key>
> <string>com.example.app1</string>
> <key>Program</key>
> <string>python</string>
> <key>ProgramArguments</key>
> <array>
> <string>/path/to/myproj/launcher.py</string>
> <string>app1</string>
> <string>start</string>
> </array>
> <key>RunAtLoad</key>
> <true/>
> </dict>
> <!-- My app 2 -->
> <dict>
> <key>Label</key>
> <string>com.example.app2</string>
> <key>Program</key>
> <string>python</string>
> <key>ProgramArguments</key>
> <array>
> <string>/path/to/myproj/launcher.py</string>
> <string>app2</string>
> <string>start</string>
> </array>
> <key>RunAtLoad</key>
> <true/>
> </dict>
> </plist>
>
> Or is there a better/another way to do this?
> _______________________________________________
> Pythonmac-SIG maillist - Pythonmac-SIG at python.org
> http://mail.python.org/mailman/listinfo/pythonmac-sig
More information about the Pythonmac-SIG
mailing list