Как сделать резервную копию / восстановить 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
Другие вопросы по тегам