为什么要使用虚拟环境

 a、隔离项目之间的第三方包依赖,如A项目依赖django1.2.5,B项目依赖django1.3。 
 b、为部署应用提供方便,把开发环境的虚拟环境打包到生产环境即可,不需要在服务器上再折腾一翻

注意:如果装的有不同的python版本直接按第九步操作

1、安装 virtualenv

 菜单键+r打开cmd命令行输入

 输入 :pip install virtualenv 回车

 

python创建virtualenv虚拟环境_virtualenv

 显示已经安装

2、安装virtualenvwrapper-win 可以快速启动virtualenv

 菜单键+r打开cmd命令行输入

 输入 :pip installvirtualenvwrapper-win

3、新建django虚拟环境项目

 选择要建项目的位置,例如我的位置是 d:\Workspace

 

python创建virtualenv虚拟环境_virtualenv_02

4、拷贝你电脑现有的python包到这个虚拟环境中,可以不用再在这个环境安装重复的包

 a、--system-site-packages拷贝包命令、Weather_demo_venv自己起的虚拟环境名称

 d:\Workspace>virtualenv --system-site-packages Weather_demo_venv

 

python创建virtualenv虚拟环境_python_03

 b、如果不需要拷贝包,Weather_demo_venv(自己的虚拟环境名称)

 直接 :d:\Workspace>mkvirtualenv Weather_demo_venv

5、安装django框架在虚拟环境中

 先找到 d:\Workspace>Weather_demo_venv\Scripts\activate 回车

 

python创建virtualenv虚拟环境_virtualenv_04

 输入要安装的django版本,我用的是python2.7,需要安装django-1.8.0版本的,应该是2.0以下的都可以,不要太高版本

 会出现不匹配问题,有异常。

 

python创建virtualenv虚拟环境_virtualenv_05

6、看一下django安装成功没有

 

python创建virtualenv虚拟环境_virtualenv_06

7、在pycharm中创建django项目

 选择自己建的虚拟环境下的目录python位置

 d:\Workspace>Weather_demo_venv\Scripts\python.exe

 

python创建virtualenv虚拟环境_python_07

 

python创建virtualenv虚拟环境_虚拟环境_08

8、虚拟项目创建完成

 

python创建virtualenv虚拟环境_python_09

9、使用virtualenv分离python不同版本

 a、安装python27、python35

 

python创建virtualenv虚拟环境_python_10

   本地安装的两个python版本2.7和3.5,安装不同版本是时会出现安装路径冲突问题

  在安装时一个选择自动配置路径,在这个位置选择自动配置pip和python路径,如果不选择的话,

 直接一路next即可,然后手动配置路径即可。

  

python创建virtualenv虚拟环境_虚拟环境_11

   手动在系统环境变量内的path下加入:

  pip和python的路径:D:\Python35\Scripts\;D:\Python35\;D:\Python27\Scripts\;D:\Python27\;

 (1)修改python名

   进入python27的安装目录把python.exe改为python2.exe或者自己喜欢的其他容易记住的名字

  进入python35的安装目录把python.exe改为python3.exe或者自己喜欢的其他容易记住的名字

 (2)修改pip

   进入D:\Python27\Scripts发现下面有pip.exe、pip2.7.exe、pip2.exe

   进入D:\Python35\Scripts发现下面有pip.exe、pip3.5.exe、pip3.exe

   那么就不需要改名字了,直接把两个pip.exe删除即可,目的是再使用pip时避免重名导致不能全盘调用

 (3)可能出现的问题

   1>在cmd控制台输入pip2 -V 或pip3 -V出现报错:

   Fatal error in launcher: Unable to create process using '"'

  百度很多解决办法:

   法2:修改pip

   进入D:\Python27\Scripts发现下面有pip.exe、pip2.7.exe、pip2.exe

    进入D:\Python35\Scripts发现下面有pip.exe、pip3.5.exe、pip3.exe

 2>升级可能出现以下pip已经是最新版本问题

 

python创建virtualenv虚拟环境_虚拟环境_12

 3>目前没发现什么好的解决直接暴力解决:

  进入D:\Python27\Lib\site-packages找到pip-9.0.1.dist-info

  不同时间的名字可能不同,总之是当下最新的pip的安装文件,删除。同理python35也这样处理。

 下载pip的压缩包:​​https://pypi.python.org/pypi/pip#downloads​

 接下来手动安装包:

  1、解压pip包然后在解压后的pip包文件的根目录下按下shift建右击鼠标,

  选择在此处打开命令窗口

   输入:python3 setup.py install

   

python创建virtualenv虚拟环境_虚拟环境_13

    同理输入:python2 setup.py install

  2、pip2 -V 、pip3 -V 再次检测pip版本

   

python创建virtualenv虚拟环境_python_14

  总结:

   虽然有点low的解决,但是问题还是解决了。

b、安装virtualenv

 第九步之前的都是在一个python的环境下,开的虚拟环境和第九步的开辟虚拟环境,本质没什么区别。

 现在有了python2(pip2)、python3(pip3)两个,那么作为python一个模块的virtualenv

 就需要python2和python3分别安装了。

  (1)Python2、python3安装vitualenv

  

python创建virtualenv虚拟环境_python_15

 (2)在D:\Python27\Scripts、D:\Python35\Scripts下与virtualenv有关的文件

  例如:mkvirtualenv、rmvirtualenv、workon、virtualenv都改一下名字

  改为:mkvirtualenv3、rmvirtualenv3、workon3、virtualenv3

  可能python2内只有virtualenv,那只需改为viertualenv2即可

  但是没有mkvirtualenv、rmvirtualenv、workon,没办法进行相应操作,可以选择把python35

 内的mkvirtualenv、rmvirtualenv、workon复制过来改一下名字,

例如:mkvirtualenv2、rmvirtualenv2、workon2

 (3)创建虚拟环境

    选择需要把虚拟环境创建的位置,按下shift点击鼠标右键选择此处打开命令窗口

  

python创建virtualenv虚拟环境_virtualenv_16

  

python创建virtualenv虚拟环境_virtualenv_17

  查看D:\Python\venv_space目录出现虚拟环境:venv27、venv35

   

python创建virtualenv虚拟环境_python_18

c、操作虚拟环境venv27、venv35

  virtualenv+--system-site-packages+文件名(自己起的虚拟环境名称) 创建虚拟环境同时拷贝本地的python包到虚拟环境中

 mkvirtualenv+文件名字(自己起的虚拟环境名称) 创建一个干净的虚拟环境

 rmvirtualenv+文件名字(已存在的虚拟环境名称) 删除已有的虚拟环境

 workon+文件名字(已存在虚拟环境名称) 进入已有虚拟环境

  activate:激活虚拟环境 D:\Python\venv_space\venv27\Scripts在此目录下按下shift建右击鼠标选择此处打开命令窗口输入activate激活venv27虚拟环境

  deactivate:退出当前虚拟环境 同上输入deactivate退出 

 d、使用虚拟环境

 在虚拟环境的中安装python依赖包,同样利用pip即可要看使用的环境的python及pip是什么名字

 例如:venv使用的是的python2、pip2,在venv27激活环境下pip2 install xxx 即可安装依赖包或

  python框架

 

python创建virtualenv虚拟环境_virtualenv_19

 在pycharm中做项目时就可以选择需要的虚拟环境运行即可,也可以在pycharm内创建虚拟环境