• L2


    一、python的开发环境

      目前官方提供两个大版本的下载地址(python2和python3),两个大版本在一台服务器上可以共存,且互不影响(这里要注意pip的环境变量配置要改改,否则会重复,查看pip对应的那个python版本可以执行pip  -V),如果不怕麻烦的话改变下环境变量一台机器也可以实现多个版本共存。

    二、python的安装

    linux平台:

      方法一:

        使用apt-get 、 yum等方法直接安装repo中有的python版本。

          * 这种方法比较简单方便,上手只需1秒。

          * 版本控制不完全,所有的版本都被repo限制,而repo是和系统的版本相关,最新的Ubuntu已经自带python3.6了。

          * 自动解决依赖关系。

          * 自动添加环境变量

      方法二:

        使用编译安装的方式

          * 版本控制非常好,想要什么版本编译安装什么版本

          * 安装完自带pip(版本随python版本变化)

          * 需要自己解决依赖关系(openssl、zlib)

    windows平台:

      下载msi包,双击安装,注意勾选自动添加pip和环境变量。

    三、pip源设置

      官方的pip源相对与国内来说有点慢,除非对网速特别有信心,或者包很小可以尝试下,如果太大,或者很多包的话不建议使用。

      目前国内的pip源还是很多:

    1 http://pypi.douban.com/simple/ 豆瓣
    2 http://mirrors.aliyun.com/pypi/simple/ 阿里
    3 http://pypi.hustunique.com/simple/ 华中理工大学
    4 http://pypi.sdutlinux.org/simple/ 山东理工大学
    5 http://pypi.mirrors.ustc.edu.cn/simple/ 中国科学技术大学
    6 https://pypi.tuna.tsinghua.edu.cn/simple 清华

      这里吐槽下,清华的开源镜像站的版本更新不行,比较老,个人比较推荐豆瓣和阿里云的,豆瓣的版本比较新,阿里云的也还不错。

    linux设置永久的pip源:

      

    $mkdir /root/.pip
    $vim /root/.pip/pip.conf
    [global]
    index-url = https://pypi.tuna.tsinghua.edu.cn/simple
    
    保存退出
    

    windows设置永久pip源:

    在下面这个路径下添加一个pip.ini文件内容同上

    C:UsersAdministratorpip

    如果是临时生效:

      pip install -i  url

    四、使用python虚拟环境

      优点:

      - 隔离项目之间的第三方包依赖,如A项目依赖django1.2.5,B项目依赖django1.3。

      - 为部署应用提供方便,把开发环境的虚拟环境打包到生产环境即可,不需要在服务器上再折腾一翻。在服务器上都不用安装virtualenv,直接将virtualenv创建的目录拷贝到服务器,修改路径,进行虚拟环境迁移就可以用了。

      - 还可以用在没有root权限的python环境配置上,如果没有root权限,可以先自己搞一个virtualenv,再在virtualenv中使用pip安装。(系统中没有pip,并且也没有root权限使用sudo apt-get安装)

      - 保证不同项目的安全性。

    五、建立虚拟环境

    1、安装虚拟的pipy包,如果计算机上有多个python只需要一个即可模拟和建立多个python虚拟环境,版本可以不同。

    # pip3 -V
    pip 9.0.1 from /usr/local/python3.6/lib/python3.6/site-packages (python 3.4)
    
    # pip3 install virtualenv
    Collecting virtualenv
      Downloading https://pypi.doubanio.com/packages/6f/86/3dc328ee7b1a6419ebfac7896d882fba83c48e3561d22ddddf38294d3e83/virtualenv-15.1.0-py2.py3-none-any.whl (1.8MB)
        100% |████████████████████████████████| 1.8MB 11.5MB/s 
    Installing collected packages: virtualenv
    Successfully installed virtualenv-15.1.0
    

    2、查看安装好的virtualen工具

    # whereis virtualenv 
    virtualenv: /usr/local/bin/virtualenv  

    提示:如果安装虚拟工具的python的bin(可执行目录)没有加入环境变量安装完成后可能会无法通过系统直接查找到的需要用绝对路径。如果是windows的话可执行文件在一个叫script的目录下,linux在bin目录下。

    3、新建一个虚拟环境

    # mkdir /var/virtualenv
    # cd /var/virtualenv/
    # virtualenv choosefine
    Using base prefix '/usr'
    New python executable in /var/virtualenv/choosefine/bin/python3
    Also creating executable in /var/virtualenv/choosefine/bin/python
    Installing setuptools, pip, wheel...done.

    注意:执行如上情况的话,他会把虚拟环境建立在当前所在目录下。默认使用的python版本即为我们pip -V之后查看到的版本。 

    4、进入我们的虚拟环境

    # ls
    choosefine
    # cd choosefine/
    # ls
    bin  include  lib  pip-selfcheck.json
    # cd bin/
    # ls
    activate      activate.fish     easy_install      pip   pip3.4  python3    python-config
    activate.csh  activate_this.py  easy_install-3.4  pip3  python  python3.4  wheel
    # vim activate
    # source activate
    (choosefine) root@Monitor:/var/virtualenv/choosefine/bin# ls
    activate      activate.fish     easy_install      pip   pip3.4  python3    python-config
    activate.csh  activate_this.py  easy_install-3.4  pip3  python  python3.4  wheel
    

    注意:前面有choosefine,这个就是我们的虚拟环境名,在windows进入虚拟环境需要注意了,无法和linux一样使用source或者点,他有个bat文件执行那个bat文件即可进入虚拟环境。在虚拟环境中我们可以肆无忌惮的测试,安装软件,并不会影响我们外面的主要环境。

    5、查看pip版本

    (choosefine) root@Monitor:/var/virtualenv/choosefine/bin# pip -V
    pip 9.0.1 from /var/virtualenv/choosefine/lib/python3.4/site-packages (python 3.4)
    # pip list
    DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
    pip (9.0.1)
    setuptools (36.6.0)
    wheel (0.30.0)
    注意:由于我们的虚拟环境如同一个新的python,所以他的pip list肯定是为空的,需要我们重新安装。  

    退出虚拟环境:

    (choosefine) root@Monitor:~# deactivate
    

      

    6、安装一个指定版本的python虚拟环境 

    root@Monitor:~# cd /var/virtualenv/
    root@Monitor:/var/virtualenv# ls
    choosefine
    
    root@Monitor:/var/virtualenv# virtualenv -p /usr/local/python3.6/bin/python3
    python3            python3.6-config   python3.6m-config  
    python3.6          python3.6m         python3-config     
    root@Monitor:/var/virtualenv# virtualenv -p /usr/local/python3.6/bin/python3 django
    Running virtualenv with interpreter /usr/local/python3.6/bin/python3
    Using base prefix '/usr/local/python3.6'
    New python executable in /var/virtualenv/django/bin/python3
    Also creating executable in /var/virtualenv/django/bin/python
    Installing setuptools, pip, wheel...done.
    

     

    确认我们安装的就是python3.6

    root@Monitor:/var/virtualenv# cd django/
    root@Monitor:/var/virtualenv/django# ls bin include lib pip-selfcheck.json
    root@Monitor:/var/virtualenv/django# cd bin/
    root@Monitor:/var/virtualenv/django/bin# ls activate activate.fish easy_install pip pip3.6 python3 python-config activate.csh activate_this.py easy_install-3.6 pip3 python python3.6 wheel
    root@Monitor:/var/virtualenv/django/bin# source activate (django) root@Monitor:/var/virtualenv/django/bin# pip -V pip 9.0.1 from /var/virtualenv/django/lib/python3.6/site-packages (python 3.6)
    (django) root@Monitor:/var/virtualenv/django/bin# python3 -V Python 3.6.3
    (django) root@Monitor:/var/virtualenv/django/bin#

    六、管理虚拟环境

    1、上面我们使用的是一种比较简单的管理虚拟环境的方法,我们还以用一个更简单的工具管理我们的虚拟环境。

    那就是:

    在安装一个包
    
    root@Monitor:/var/virtualenv/django/bin# pip3 -V
    pip 9.0.1 from /usr/local/lib/python3.4/dist-packages/pip-9.0.1-py3.4.egg (python 3.4)
    root@Monitor:/var/virtualenv/django/bin# pip3 install virtualenvwrapper Collecting virtualenvwrapper Downloading https://pypi.doubanio.com/packages/2b/8c/3192e10913ad945c0f0fcb17e9b2679434a28ad58ee31ce0104cba3b1154/virtualenvwrapper-4.8.2-py2.py3-none-any.whl Collecting virtualenv-clone (from virtualenvwrapper) Downloading https://pypi.doubanio.com/packages/36/66/d95f83255138ded1aec242de5ee51536226fa7b2582a7ce0863fea5dc4f2/virtualenv-clone-0.2.6.tar.gz Requirement already satisfied: virtualenv in /usr/local/lib/python3.4/dist-packages (from virtualenvwrapper) Collecting stevedore (from virtualenvwrapper) Downloading https://pypi.doubanio.com/packages/29/b0/13f8743f29a79fe3a9e232d3dcd7771adf19856ef31e157e03c9a4150765/stevedore-1.27.1-py2.py3-none-any.whl Requirement already satisfied: pbr!=2.1.0,>=2.0.0 in /usr/local/lib/python3.4/dist-packages (from stevedore->virtualenvwrapper) Requirement already satisfied: six>=1.9.0 in /usr/local/lib/python3.4/dist-packages (from stevedore->virtualenvwrapper) Installing collected packages: virtualenv-clone, stevedore, virtualenvwrapper Running setup.py install for virtualenv-clone ... done Successfully installed stevedore-1.27.1 virtualenv-clone-0.2.6 virtualenvwrapper-4.8.2

      

    说明:为什么需要我们的管理工具呢?

      因为,如果我们新建了一个虚拟环境后,默认命令是不会加入环境变量的,如果加入了环境变量会导致我们的原有的python版本和虚拟环境错乱,无法正常使用。不实用环境变量没吃调用我们就必须到虚拟环境所在的目录然后执行activate才能进入虚拟环境。有virtualenvwrapper后,我们就可以直接在系统的任意位置进入我们的虚拟环境,首先保证virtualenvwrapper被加入环境变量了。

    2、将我们的virutalenvwrapper加入环境变量

    root@Monitor:~# export WORKON_HOME=/var/virtualenv/
    
    root@Monitor:~# export PROJECT_HOME=/var/workspace

    root@Monitor:~# source /usr/local/bin/virtualenvwrapper.sh 

    3、列表我们所有的环境变量

    root@Monitor:~# workon 
    choosefine
    django
    

    进入虚拟环境:

    root@Monitor:~# workon django
    /usr/bin/python: No module named virtualenvwrapper
    /usr/bin/python: No module named virtualenvwrapper
    (django) root@Monitor:~# 
    

    确认以下:

    (django) root@Monitor:~# pip -V
    pip 9.0.1 from /var/virtualenv/django/lib/python3.6/site-packages (python 3.6)
    

     七、使用图形化的方式修改我们的解释器。

      这里以pychram为例吧,我觉得他比较的强大。

    1、打开pychram

     

    2、进入设置

      

      

     

      

      

      

      

      

  • 相关阅读:
    转发与重定向的区别
    Servlet开发详讲
    Servlet的常见错误
    HTTP请求方式之POST和GET的区别
    Spring各种类型数据的注入
    Spring容器的基本使用
    Python接口自动化-测试用例编写
    Python接口自动化-设计测试用例
    python简明教程之数据结构(列表、元组、字典、集合)
    python简明教程之函数
  • 原文地址:https://www.cnblogs.com/fonzie/p/7717782.html
Copyright © 2020-2023  润新知