Python虚拟环境一般有两种方式:
①在Python3.3之前,使用第三方实用工具virtualenv创建。
②pyvenv。Python3.3以后的版本自带的通过venv模块 支持的原生虚拟环境。3.3的虚拟环境不包含pip,不过3.4改了此缺陷。pyvenv可完全代替virtualenv。
虚拟环境 是Python解释器的一个私有副本,在这个环境中我们可以安装私有包,而不会影响系统中安装的全局Python解释器。
在Windows下使用virtualenv,又名为:Multiple Python Versions on Windows。实现Python2、Python3两个版本共存,避免包的混乱、版本冲突。为每个程序单独创建虚拟环境 可以保证程序只能访问虚拟环境中的包,从而保持全局解释器的干净整洁,使其只作为创建(更多)虚拟环境的源。这样还不需要管理员权限。
意味着:在虚拟环境里安装包只对这个虚拟环境有效。而且虚拟环境只带一个纯净的python。这样你的项目不会影响到其他人的,也不会被其他人的项目影响。
参考文章:
1.Windows下使用virtualenv
2.Windows环境下使用virtualenv对Python进行多版本隔离
步骤:
1 新建一个目录,用来存放项目的 如D:\OldIron\myweb。创建的myweb文件夹
2 cmd进去上面的目录。例:
d:
cd D:\OldIron\myweb
3 python -m venv myvirtuaenv。myvirtuaenv是个目录(即虚拟环境名字:按照惯例,一般虚拟环境会被命名为venv),里面是我们所创建的虚拟环境。与虚拟环境相关的文件都会保存在这个文件目录中。
-m参数
python –help 给出帮助信息
run library module as a script (terminates option list)—-译作:将库中的python模块用作脚本去运行。
python -m venv xxx其中 venv是指venv模块。
参考文章:Python3 venv创建虚拟环境
4 激活虚拟环境 activate。在使用虚拟环境之前,得将其激活。
切换到 D:\OldIron\myweb\myvirtuaenv\Scripts下,即 cd D:\OldIron\myweb\myvirtuaenv\Scripts
激活虚拟环境后的命令行(cmd)最前面会出现 虚拟环境 的名称。
虚拟环境中的Python并没有安装扩展库(pip除外),我们可以通过pip在虚拟环境中安装任何扩展库,且它们都只对当前虚拟环境(myvirtuaenv)有效,对真实的环境和别的虚拟环境都无效。即 虚拟环境、真实环境、别的虚拟环境 各自互不影响。
另一种方式“激活”虚拟环境:[虚拟环境目录下]/Scripts 双击打开Python.exe文件。
5 退出虚拟环境 命令行输入 deactivate。(此命令不必切换到/Scripts目录下,哪里都可以执行)。这样就回到 全局Python解释器中。
6 重建依赖。即 从A环境 迁移到 B虚拟环境怎么重建依赖。
先在A环境中把所有依赖都保存到re.txt中,使用pip freeze > re.txt 。此时会在当前目录生成re.txt。
我们可以修改re.txt文件来改变我们虚拟环境的相关依赖。比如 不需要Flask,直接将该行删除即可。
激活B虚拟环境,安装所有依赖,使用 pip install -r re.txt。
这样,A环境的依赖 就迁移到B环境了。
注:有的扩展库通过pip install的方式安装可能会出现问题(比如 lxml),那么通过上面那条命令安装也会失败,这种扩展库我们只有去这里下载编译好的.whl文件进行单独安装。先在虚拟环境中安装wheel(pip install wheel),然后就可以直接用pip命令安装.whl文件了。
freeze v.使结冰、冻结(存款、工资等)、冷藏;n.凝固、结冰、冻伤
pip freeze 这个命令作用:按着一定格式输出已安装软件列表
在虚拟环境中 使用pip安装Python包
例:
Sublimetext3使用Virtulalenv插件进去Pyhton虚拟环境,步骤:
1. 添加Virtualenv插件:ctrl+shift+p出现悬浮框,输入package,然后选择package control–install package,输入virtualenv,选择它回车即可安装,安装完后会出现一个新窗口Package Control Messages,有Virtualenv简介。
2. 新建python虚拟环境:Crtl+Shift+P,选中Virtualenv:New选项,在SublimeText底部Virtualenv Path输入虚拟环境安装目录后回车键,比如D:\youcaihua\venv\。等待安装完成后,Tool->Build systems中选中Python+Virtualenv,即可使用虚拟环境来执行python,但是在执行前需要先运行python虚拟环境;
3. 运行python虚拟环境: Project->Add forlder to Project,选择D:\youcaihua\(推荐:其实虚拟环境目录是安装在根目录下),在左侧即可看到安装的虚拟环境,Crtl+Shift+P,选中Virtualenv:Activate选项,选择对应的虚拟环境即可激活。激活之后,Crtl+Shift+P可以看到选项中多了一个Virtualenv:Deactivate,通过这个可以关闭虚拟环境;删除也看得到。
4. Ctrl+B执行python文件
5. Sublime Text默认Ctrl+B执行python程序不支持交互式默认以及raw_input等,所以有时需通过SublimeREPL来执行python程序.
6. SublimeText3 安装SublimeREPL插件(Crtl+Shift+P),该插件调用的python默认为系统path中设置的python
7. 为SublimeREPL添加快捷键
Preference->key Bindings->user中添加下面配置,
其中F2用来执行python文件,对应于Tools->SublimeREPL->python->Python RUN current file
其中F1用来进入python交互式模式,对应于Tools->SublimeREPL->python->Python
[
{
"keys":["f2"],
"caption": "SublimeREPL: Python - RUN current file",
"command": "run_existing_window_command",
"args":
{
"id": "repl_python_run",
"file": "config/Python/Main.sublime-menu"
}
},
{
"keys":["f1"],
"caption": "SublimeREPL: Python",
"command": "run_existing_window_command",
"args":
{
"id": "repl_python",
"file": "config/Python/Main.sublime-menu"
}
}
]
8. 因为SubLimeREPL默认使用的是系统中path路径中的python环境,如果希望使用上述python虚拟环境,那么可以做如下设置:
Preference->Package Settings->SublimeREPL->Settings User中添加:
{
"default_extend_env": {"PATH":"D:\\youcaihua\\venv\\Scripts"},
}
其中D:\youcaihua\venv\Scripts为虚拟环境安装目录,指定到Scripts这一层即可。
当然还有一种方法就是修改系统path中的python目录;
9. 通过以上步骤设置之后,Sublime Text即可使用python虚拟环境通过Ctrl+B以及F2的方式来执行python文件,还可以通过F1的方式进入python交互式模式。
需要注意的是Ctrl+B每次执行都是在控制台中输出结果,但是F2每次执行都会打开一个新的页签显示执行结果,个人感觉这个不太方便,暂时没找到解决方法。
所以目前如果执行.py文件都是通过Ctrl+B,如果需要python交互式模式就使用F1。
PS:有时可能Ctrl+B 和F2执行的结果还不同!!!