python多环境下虚拟环境的搭建和使用

 

由于开发环境要求,或者实际需要。经常会出现python2.7和python3.x共存下的开发环境问题。虚拟环境的搭建可以很好的隔离Projects的开发环境。

1.首先解决python2.7和python3.x的pip问题

  由于py2和py3版本都是使用的pip,然而我们在安装Python3(>=3.3)时,Python的安装包实际上在系统中安装了一个启动器py.exe,默认放置在文件夹C:\Windows\下面。这个启动器允许我们指定使用Python2还是Python3来运行代码(当然前提是你已经成功安装了Python2和Python3)。

  如果你有一个Python文件叫 hello.py,那么你可以在命令行这样用Python2运行它

    py -2 hello.py

  类似的,如果你想用Python3运行它,就这样

    py -3 hello.py

  或者在代码文件的最开始加入一行

    #! python2; #! python3

  这样,运行的时候你的命令就可以简化为

    py hello.py

  使用pip

  由于Py2和Py3它们对应的pip都叫pip.exe,所以不能够直接使用 pip install 命令来安装软件包。而是要使用启动器py.exe来指定pip的版本。命令如下:

    py -2 -m pip install XXXX

  -2 还是表示使用 Python2,-m pip 表示运行 pip 模块,也就是运行pip命令了。Python3版本:

    py -3 -m pip install XXXX

2.安装,激活,退出虚拟环境

虚拟环境在cmd下的安装主要有两种方法:

(1) virtualenv

  win+R,输入cmd,

  >>>pip install virtualenv  (2,3版本共存选择如上命令行安装)

  (ps:安装过程中出现报错: ReadTimeoutError: HTTPSConnectionPool(host='pypi.python.org, port=443) Read time out :,可以通过文章末尾提供的方法解决。)

  安装完成后创建虚拟环境:virtualenv env,默认安装在C:\Users\user_name\目录下

  激活虚拟环境:命令行下,

    >>>cd env_name\Scripts

    >>>C:\Users\user_name\env27\Scripts\ activate.bat

    出现(env27) C:\Users\wj_19\env27\Scripts>即表示进入虚拟环境

  退出虚拟环境:同样在Scripts目录下,执行deactivate.bat即可退出

 

(2)virtualenvwrapper-win(Linux环境下virtualenvwrapper)

  win+R,cmd

  >>>pip install virtualenvwrapper-win  (版本自选)

  安装完成后接下来就是相同的创建,激活等操作了

  创建虚拟环境:与virtualenv不同的是,virtualenvwrapper会自动将创建的env放在同一文件下,如创建一个叫py27.1的虚拟环境

    >>>mkvirtualenv env27.1

    初次创建时,virtualenvwrapper会在当前盘根目录下自动建立一个虚拟环境的文件夹,然后将新建的env27.1存进去。

    创建结果和文件夹内容如图:

 

      

  输入workon显示该目录下所有虚拟环境,可以选择不同的虚拟环境进行工作,即激活虚拟环境

    >>>workon py27.0

  当我们需要导入第三方的包(packages)时,在该虚拟环境下(一定要先激活使用的虚拟环境)比如导入requests:

    >>>pip install requests

  反之卸载:

    >>>pip uninstall requests

  结束后退出虚拟环境

    >>>deactivate

 

  

这是末尾:

  解决pip install vitualenv/virtualwrapper报错的问题:

  我们在使用pip安装virtualenv,scrapy等模块报错 :ReadTimeoutError: HTTPSConnectionPool(host='pypi.python.org, port=443) Read time out :
可以随便新建一个文件,重命名为.py文件,复制下面代码到这个文件,然后在命令行运行。

  

 1 import os  
 2   
 3 ini="""[global] 
 4 index-url = https://pypi.doubanio.com/simple/ 
 5 [install] 
 6 trusted-host=pypi.doubanio.com 
 7 """  
 8 pippath=os.environ["USERPROFILE"]+"\\pip\\"  
 9   
10 if not os.path.exists(pippath):  
11     os.mkdir(pippath)  
12   
13 with open(pippath+"pip.ini","w+") as f:  
14     f.write(ini)  

 

  

  运行完后再重新试下

  >>>pip install virtualenv

  >>>pip install virtualenvwrapper-win

  完全ojbk。

  最后献上解决方法的出处,供更多了解

    出处:https://segmentfault.com/q/1010000000496093
    答主:FGFW

    

  

posted @ 2018-04-02 21:55  KrianJ  阅读(420)  评论(0编辑  收藏  举报