Я пытаюсь активировать мой virtualenv (уже существующий), используя следующий код Python:
Test.py
import os, sys
filename = "activate"
exec(compile(open(filename, "rb").read(), filename, 'exec'), globals, locals)
print(os.system('pwd'))
if hasattr(sys, 'real_prefix'):
print('success')
else:
print('failed')
Затем я запускаю этот скрипт с помощьютерминал:
python Test.py
, который затем выдает эту ошибку:
Traceback (most recent call last):
File "activate_this.py", line 3, in <module>
exec(compile(open(filename, "rb").read(), filename, 'exec'), globals, locals)
File "activate", line 4
deactivate () {
^
SyntaxError: invalid syntax
Я могу успешно активировать virtualenv, выполнивcd env/bin
, а затем source activate
TLDR
Активация virtualenv из скрипта python вызывает синтаксическую ошибку из файла активации.