Question :
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
Answer #2:
runserver.bat:
CALL [your path]Scriptsactivate.bat
python manage.py runserver
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.
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.
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.