如何备份/恢复 python virtualenv?

use*_*834 2 python backup virtualenv rdiff-backup

python 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
Run Code Online (Sandbox Code Playgroud)

备份/恢复它们的推荐方法是什么?

当我恢复备份时,我第一次尝试使用 rdiff-backup 取消了所有符号链接。

Nag*_*yan 5

很容易将环境冻结到一个文本文件中,然后再安装!

pip freeze > requirements.txt
Run Code Online (Sandbox Code Playgroud)

那么当你想安装时

pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)


Zor*_*lub 4

rdiff-backup 通常按原样复制符号链接并且不引用它们。您是否添加了 --include-symlinks 选项?

“cp -p”或“rsync -a”也会保留符号链接。