能够更新生成的虚拟环境并virtualenv --system-site-packages /path/to/myvirtenv考虑到基础Python中已完成的更改将非常方便.
例如,如果已经在virtualenv中安装了IPython 2.4并且后来在基础Python中安装了IPython 3.0,则应该从虚拟环境中删除旧的IPython,并替换为较新的包的副本.
我们应该怎么做?是否已经有命令这样做?如果没有,是否可以在virtualenv包中实现它?
PS:使用--system-site-packages选项生成的虚拟环境非常方便,如果你没有管理员权限,但如果对基础Python的任何修改使虚拟env错误,它似乎不是一个好方法!
PS:这个问题与virtualenv没有找到更新模块这个问题有关.
如果已经在virtualenv中安装了IPython 2.4,并且后来在基础Python中安装了IPython 3.0,则应该从虚拟环境中删除旧的IPython,并替换为较新的包的副本.
您可能能够调整现有的virtualenv,例如通过创建新文件并将文件复制到现有文件中.但是,我发现更新的最佳和最安全的方法如下:
# preserve installed packages
source /path/to/venv/bin/activate
pip freeze > requirements.txt
deactivate
# careful now, this destroys all
rm -rf /path/to/venv
Run Code Online (Sandbox Code Playgroud)
然后创建一个新的virtualenv
# apply base changes
virtualenv --system-site-packages /path/to/venv
source /path/to/venv/bin/activate
pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14065 次 |
| 最近记录: |