在Windows Vista上,我需要一个脚本来启动activate
(以激活virtualenv)脚本:
C:\Users\Admin\Desktop\venv\Scripts\
稍后,在虚拟环境中,从文件夹中的manage.py runserver
开始:
C:\Users\Admin\Desktop\helloworld\
我该怎么办?我应该使用哪些模块?
答案 0 :(得分:43)
您可以激活virtualenv,然后使用bat文件启动服务器。 将此脚本复制到文件中并使用.bat扩展名保存(例如,runserver.bat)
@echo off
cmd /k "cd /d C:\Users\Admin\Desktop\venv\Scripts & activate & cd /d C:\Users\Admin\Desktop\helloworld & python manage.py runserver"
然后你可以运行这个bat文件(只需双击)即可启动服务器
答案 1 :(得分:9)
runserver.bat:
CALL [your path]\Scripts\activate.bat
python manage.py runserver
答案 2 :(得分:6)
如果你想直接调用virtualenv' ed Python,你可以这样做:
C:\Users\Admin\Desktop\venv\Scripts\bin\python.exe manage.py runserver
仔细检查您的virtualenv文件夹中的python.exe
位置 - 不记得它是如何从我的头脑中消失的。这个Python将自己与virtualenv联系起来,并默认使用它的site-packages
。
答案 3 :(得分:1)
不是使用字符串,而是可以使用插入符号(^),如此问题中所述: 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
将打开venv并卸载并重新安装Git存储库的分支。这是自动将代码部署到venv中的有用模式。
答案 4 :(得分:1)
我在Windows上使用Anaconda 3和python 3.7.6。必须在我的.bat文件中执行此操作:
CALL路径\到\基础\虚拟\环境\脚本\ activate.bat路径\到\您的\虚拟\环境 [path \ to \ your \ virtual \ environment] python.exe path \ to \ your \ script \ yoursript.py
如果没有activate.bat,则无效。我收到有关mkl服务器的错误。 https://github.com/numpy/numpy/issues/15523在此描述了此错误。人们抱怨那里的conda损坏了,即仅将python.exe调用yoursript.py无效。
答案 5 :(得分:0)
对我来说,上述方法不起作用,因此我将提供更一般的答案。
但首先,这对我有用:
@echo off
CALL c:\1\env\Scripts\activate.bat
python c:\1\app.py runserver
一般来说:在你的python项目下找到“activate.bat”很重要。在这种情况下,我的项目在 c:\1 和相关目录 env\Scripts 下的 activate.bat 显然可能取决于情况或随着时间的推移而改变。这使得通用脚本:
@echo off
CALL [Your python project path]\[the relative path of your activate.bat]\activate.bat
python [Your python project path]\[your python filename].py runserver
就我而言,项目路径是:c:\1 相对路径:env\Scripts 和 python 文件名:app
当我创建一个虚拟环境时,env 文件是相对于我的 python 文件放置的。以防万一您的情况与问题类似,脚本中的调用行将更改为 CALL [您的 activate.bat 位置]\activate.bat
即在这种情况下,以下应该起作用:
@echo off
CALL C:\Users\Admin\Desktop\venv\Scripts\activate.bat
python C:\Users\Admin\Desktop\helloworld\manage.py runserver
提示:我刚刚发现python将我的桌面作为工作目录。因此,将工作目录更改为 Python 路径可能是个好主意。就我而言,在 @echo off 下添加 cd\1 就可以做到这一点。
答案 6 :(得分:0)
对我来说,使用以下代码:(script_file.bat)
@echo 关闭
CALL C:\Users\apo1979\Anaconda3\Scripts\activate.bat PyPWBI
C:/Users/apo1979/Anaconda3/envs/PyPWBI/python.exe "d:/.APO_OneDrive/script_SpeedTest.py" 运行服务器
暂停