Sau*_*mar 15 python virtualenv pip copy
有时需要创建一个退出virtualenv的副本来测试我们项目的额外功能。
在这种情况下,我们需要创建现有环境的副本并添加更多要求。
下面提到了创建现有 virtualenv 副本的一种方法:
# while using existing virtualenv
(oldenv): pip freeze > requirements.txt
# after creating and logged-in to new virtualenv
(newenv): pip install -r requirements.txt
# where requirements.txt is the same file created using (oldenv)
Run Code Online (Sandbox Code Playgroud)
但我个人并不喜欢这种方式。为什么??因为安装了我们可以重用的相同软件包。重复使用或说复制不仅会减少额外的时间和精力,还会将互联网带宽的使用减少到零,特别是对于有限和缓慢的互联网用户。
凉爽的!那么在本地创建现有virtualenv副本的其他方法是什么?
我知道我在下面提到的另外两种方式。希望这些会有所帮助。
Sau*_*mar 23
创建现有 virtualenv 副本的第一种方法,例如ProjectAenv:
将 ProjectAenv 复制到其他名称或目录:
cp -R /home/sk/Path1/ProjectAenv /home/sk/Path2/ProjectBenv
Run Code Online (Sandbox Code Playgroud)
/home/sk/Path1/ProjectAenvvirtualenv ProjectAenv的绝对路径在哪里
然后使用您喜欢的编辑器打开activate新复制的ProjectBenv文件:
gedit /home/sk/Path2/ProjectBenv/bin/activate
Run Code Online (Sandbox Code Playgroud)找到行VIRTUAL_ENV="/home/sk/Path1/ProjectAenv"并将其替换为:
VIRTUAL_ENV="/home/sk/Path2/ProjectBenv"
Run Code Online (Sandbox Code Playgroud)
保存并关闭文件。
就是这样!!您的新环境ProjectBenv从ProjectAenv复制并准备使用。我使用这种方式已经很长时间了,但从未遇到任何问题,尽管我推荐第二种复制方式。
创建现有 virtualenv(推荐) 副本的第二种方法:
下载virtualenv-clone:
wget https://pypi.python.org/packages/source/v/virtualenv-clone/virtualenv-clone-0.2.6.tar.gz
tar -zxvf virtualenv-clone-0.2.6.tar.gz
cd virtualenv-clone-0.2.6
Run Code Online (Sandbox Code Playgroud)在任何 virtualenv 环境中安装virtualenv-clone:
virtualenv newenv # create a new environment. You can use any existing one.
source newenv/bin/activate # login to newenv
(newenv): python setup.py install # install virtualenv-clone in newenv
# be sure that you are inside the directory "virtualenv-clone-0.2.6"
Run Code Online (Sandbox Code Playgroud)
virtualenv-clone 将安装在 newenv 中。
现在,以 newenv 身份登录时,我们可以创建任何现有环境的副本。例如创建 ProjectAenv 的副本:
(newenv): virtualenv-clone ProjectAenv ProjectBenv
(newenv): deactivate # to come out from newenv.
Run Code Online (Sandbox Code Playgroud)请评论任何建议或更改。
| 归档时间: |
|
| 查看次数: |
47715 次 |
| 最近记录: |