Как сделать резервную копию / восстановить Python Virtualenv?
Питон virtualenv полон символических ссылок:
$ virtualenv venv
Running virtualenv with interpreter /usr/bin/python2
New python executable in venv/bin/python2
Also creating executable in venv/bin/python
Installing setuptools, pip...done.
$ tree venv/lib/
venv/lib/
├── python2.7
│ ├── _abcoll.py -> /usr/lib/python2.7/_abcoll.py
│ ├── _abcoll.pyc
│ ├── abc.py -> /usr/lib/python2.7/abc.py
│ ├── abc.pyc
│ ├── codecs.py -> /usr/lib/python2.7/codecs.py
│ ├── codecs.pyc
│ ├── copy_reg.py -> /usr/lib/python2.7/copy_reg.py
│ ├── copy_reg.pyc
│ ├── distutils
│ │ ├── distutils.cfg
│ │ ├── __init__.py
│ │ └── __init__.pyc
│ ├── encodings -> /usr/lib/python2.7/encodings
│ ├── fnmatch.py -> /usr/lib/python2.7/fnmatch.py
│ ├── fnmatch.pyc
│ ├── genericpath.py -> /usr/lib/python2.7/genericpath.py
│ ├── genericpath.pyc
Каков рекомендуемый способ их резервного копирования / восстановления?
Моя первая попытка использования rdiff-backup разорвала все символические ссылки при восстановлении резервной копии обратно.
1 ответ
Решение
rdiff-backup обычно копирует символические ссылки такими, какие они есть, и не ссылается на них. Возможно, вы добавили опцию --include-symlinks?
"cp -p" или "rsync -a" также сохранят символические ссылки.
Легко просто заморозить среду в текстовый файл и установить из нее позже!
pip freeze > requirements.txt
тогда, когда вы хотите установить
pip install -r requirements.txt