2016-09-06 2 views
0

У меня есть код на Python, который мне нужно отправить клиенту, который запустит его. код Python работает на нескольких импортируемых модулей, упомянутых в requirements.txt:Условный эквивалент Bash в Windows для запуска команд pip и python?

requests==2.11.1 
xlwt==1.1.2 
beautifulsoup4==4.5.1 

Если я должен выполнить код в окнах, мне придется вручную попросить клиента загрузить эти вышеуказанные модули перед запуском сценария. Я создал Баш скрипт (для Linux), которое таково:

sudo pip install -r requirements.txt 
echo "Requirements met" 
python ./isb.py 

Что Баш скрипт эквивалент в окнах? Я хочу, чтобы клиент выполнял только один файл, который выполняет остальные оставшиеся файлы.

Может ли исполняемый файл быть выполнен таким образом? Код и другие файлы: here при необходимости.

+0

Вы можете поместить те же самые cormands в файл '.bat'. Однако нет прямого эквивалента 'sudo'. Возможно, вы захотите использовать виртуальную среду, и в этом случае никакое 'sudo' не является необходимым или полезным. – tripleee

+0

Глагол «runas» «ShellExecuteEx» (например, в PowerShell: 'saps pip -args 'install -r requirements.txt' -verb runas') примерно похож на gksudo, но команда запускается в новой консоли, так как Windows хочет, чтобы (conhost.exe) использовать тот же контекст безопасности, что и его клиенты (cmd.exe, python.exe и т. д.). Было бы неприятно иметь сообщения об ошибках, и в новом окне консоли кратковременно появлялись предупреждения. Таким образом, вы можете просто попросить сценарий PowerShell, требующий доступа администратора. – eryksun

ответ

0

У меня схожая задача в прошлом. Поэтому я просто использовал инструмент py2exe, который создает автономный исполняемый файл и разрешает зависимости во время сборки. В сборку будет включен действительный интерпретатор python. Таким образом, ваш клиент может просто выполнить этот автономный exe-файл, дважды щелкнув или из оболочки cmd.

+0

Включает ли он модули 3-й части? – FlyingAura

+0

Да, он упаковывает все модули как .pyc, как я помню –

 Смежные вопросы

  • Нет связанных вопросов^_^