Подтвердить что ты не робот

Сценарий Python, который активирует virtualenv, а затем запускает другой сценарий Python?

В Windows Vista мне нужен скрипт, который запускает скрипт activate (для активации virtualenv) в:

C:\Users\Admin\Desktop\venv\Scripts\

А позже, в виртуальной среде, запускается manage.py runserver в папке:

C:\Users\Admin\Desktop\helloworld\

Как мне быть? Какие модули я должен использовать?

4b9b3361

Ответ 1

Вы можете активировать свой virtualenv, а затем запустить сервер, используя файл bat. Скопируйте этот script в файл и сохраните его с расширением .bat(например, runningerver.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 (просто дважды щелкните), чтобы запустить сервер

Ответ 2

runserver.bat:

 CALL [your path]\Scripts\activate.bat
 python manage.py runserver

Ответ 3

Если вы хотите напрямую вызвать virtualenv'ed Python, вы можете сделать что-то вроде этого:

 C:\Users\Admin\Desktop\venv\Scripts\bin\python.exe manage.py runserver

Двойная проверка местоположения python.exe в вашей папке virtualenv - не помните, как она вышла из моей головы. Этот Python связывается с virtualenv и по умолчанию использует его site-packages.

Ответ 4

Вместо использования строк можно использовать символ вставки (^), как описано в этом вопросе: длинные команды разбиваются на несколько строк в пакетном файле (.bat) Windows Vista

Например

cmd /k cd path/to/activate ^
activate.bat
pip uninstall --yes package ^
pip install git+https://git.server.com/user/[email protected]/branch ^
deactivate

откроет venv, удалит и переустановит ветку Git-репозитория. Это полезный шаблон для автоматизации развертывания кода в venv.

Ответ 5

Используйте вызов, чтобы войти в вашу среду, а затем у вас есть ваша командная строка для того, что вы пожелаете.

@echo off

echo script for opencv environment with anaconda

cd ..\Environment\PATH

call activate my-env

cd ..\example\path

call python execution_script.bat

echo done

Ответ 6

Таким образом, приведенные выше ответы могут быть устаревшими, или они не работают в моей корпоративной среде. Если приведенные выше ответы не работают для вас, попробуйте отключить вызов python, когда вы пытаетесь запустить свой файл, он уже был вызван при вызове activ.bat. Вот что работает для меня, чтобы запустить hello.py в среде Anaconda, и я попробовал то же самое в простой jane virtualenv:

cmd /k "cd C:\Users\%USERNAME%\AppData\Local\Continuum\Anaconda3\Scripts & activate.bat & cd C:\Users\%USERNAME%\Desktop & hello.py"

Ваш анаконда env может не иметь такой же путь, как мой.