Я использую этот класс в моем манифесте:Кукольный только создать virtualenv раз
python::virtualenv { $virtualenv_dir:
ensure => present,
version => 'system',
systempkgs => false,
distribute => false,
owner => $user,
group => $group,
}
Он отлично работает в первый раз.
Проблема: у меня появилось несколько демонаризованных работников сельдерея, которые используют файл venv/bin/python.
Когда я применяю манифест во второй раз, я получаю:
Already using interpreter /usr/bin/python
Traceback (most recent call last):
File "/usr/bin/virtualenv", line 3, in
virtualenv.main()
File "/usr/lib/python2.7/dist-packages/virtualenv.py", line 938, in main
never_download=options.never_download)
File "/usr/lib/python2.7/dist-packages/virtualenv.py", line 1039, in create_environment
site_packages=site_packages, clear=clear))
File "/usr/lib/python2.7/dist-packages/virtualenv.py", line 1274, in install_python
shutil.copyfile(executable, py_executable)
File "/usr/lib/python2.7/shutil.py", line 83, in copyfile
with open(dst, 'wb') as fdst:
IOError: [Errno 26] Text file busy: '/usr/local/myapp/venv/bin/python'
ли это как-то можно только запустить virtualenv команды, если каталог venv не был создан еще?
Или что вы предложите? Я не хочу останавливать своих работников сельдерея, применяя марионетку.