A Python script that activates the virtualenv and then runs another Python script?

Posted on

Question :

A Python script that activates the virtualenv and then runs another Python script?

On Windows Vista, I need a script that starts the activate (to activate the virtualenv) script in:

C:UsersAdminDesktopvenvScripts

And later, in the virtual environment, starts to the manage.py runserver in the folder:

C:UsersAdminDesktophelloworld

How should I do? What modules should I use?

Answer #1:

You can activate your virtualenv and then start server using a bat file.
Copy this script in to a file and save it with .bat extension (eg. runserver.bat)

@echo off
cmd /k "cd /d C:UsersAdminDesktopvenvScripts & activate & cd /d    C:UsersAdminDesktophelloworld & python manage.py runserver"

Then you can just run this bat file (just double click) to start the server

Answered By: Ashish Gupta

Answer #2:

runserver.bat:

 CALL [your path]Scriptsactivate.bat
 python manage.py runserver
Answered By: Weihui Guo

Answer #3:

If you want call virtualenv’ed Python directly you can do something like this:

 C:UsersAdminDesktopvenvScriptsbinpython.exe manage.py runserver

Double check python.exe location on your virtualenv folder – don’t remember how it is out of my head. This Python associates itself with the virtualenv and uses its site-packages by default.

Answered By: Mikko Ohtamaa

Answer #4:

Rather than using strings you can use a caret (^) as described in this question: Long commands split over multiple lines in Windows Vista batch (.bat) file

E.g.

cmd /k cd path/to/activate ^
activate.bat
pip uninstall --yes package ^
pip install git+https://git.server.com/user/project@remote/branch ^
deactivate

will open a venv and uninstall and reinstall a branch of a Git repository. This is a useful pattern for automating deployment of code into a venv.

Answered By: phil_20686

Answer #5:

I am using Anaconda 3 and python 3.7.6 on Windows. Had to do this in my .bat file:

CALL pathtobasevirtualenvironmentScriptsactivate.bat pathtoyourvirtualenvironment
[pathtoyourvirtualenvironment]python.exe pathtoyourscriptyoursript.py

Without activate.bat nothing works. I was getting an error about mkl-server. This error is described here https://github.com/numpy/numpy/issues/15523. People complained there about conda being broken, i.e. just calling python.exe yoursript.py does not work.

Answered By: Andy

Leave a Reply

Your email address will not be published. Required fields are marked *