一个Python脚本,它激活virtualenv,然后运行另一个Python脚本?

uga*_*ses 34 python windows shell command virtualenv

在Windows Vista上,我需要一个脚本来启动activate(激活virtualenv)脚本:

C:\Users\Admin\Desktop\venv\Scripts\
Run Code Online (Sandbox Code Playgroud)

然后,在虚拟环境中,启动到manage.py runserver文件夹中:

C:\Users\Admin\Desktop\helloworld\
Run Code Online (Sandbox Code Playgroud)

我应该怎么做?我应该使用哪些模块?

Ash*_*pta 52

您可以激活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"
Run Code Online (Sandbox Code Playgroud)

然后你可以运行这个bat文件(只需双击)即可启动服务器

  • 仅供参考:这在使用virtualenvwrapper(-win)时也有效,例如:`workon myenv&cd c:\ AppPath&python my_app.py` (4认同)
  • 投了反对票。我们的代码看起来像这样,可能要归功于不久前有人读过的答案:python->bat->python->bat->python->bat。无法调试。请在您的代码中仅使用 python。python里面的.bat是魔鬼 (2认同)

Wei*_*Guo 12

runserver.bat:

 CALL [your path]\Scripts\activate.bat
 python manage.py runserver
Run Code Online (Sandbox Code Playgroud)

  • 这对我有用。 (3认同)

Mik*_*maa 7

如果你想直接调用virtualenv'ed Python,你可以这样做:

 C:\Users\Admin\Desktop\venv\Scripts\bin\python.exe manage.py runserver
Run Code Online (Sandbox Code Playgroud)

python.exe在virtualenv文件夹上仔细检查位置 - 不记得它是如何在我脑海中浮现的.这个Python将自己与virtualenv联系起来并site-packages默认使用它.

  • 请注意,特别是在Windows上,此方法不会看到对activate.bat脚本中的环境变量所做的任何更改 (7认同)

小智 5

我在 Windows 上使用 Anaconda 3 和 python 3.7.6。必须在我的 .bat 文件中执行此操作:

CALL 路径\to\base\virtual\environment\Scripts\activate.bat 路径\to\your\virtual\environment [路径\to\your\virtual\environment]python.exe 路径\to\your\script\yoursript.py

没有 activate.bat 就没有任何作用。我收到有关 mkl-server 的错误。此错误在此处描述https://github.com/numpy/numpy/issues/15523。人们抱怨 conda 被破坏,即仅仅调用 python.exe yoursript.py 不起作用。