cxin 发表于 2018-8-4 08:40:04

升级python,安装pip,Django-muahao

  centos6.6 系统默认python版本是python2.6.6.目前这个版本算很低了,主流是使用python2.7或者python3.0了;python2.6.6仅可以支持到Django1.3.7,这个Django版本也太低了,很多特性不可使用,现在就升级到python2.6.6到python2.7.9,然后安装pip,通过pip安装Django的高版本!
  1. 下载python2.7.9
  # wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tar.xz
  2. 解压文件
  tarxvf Python-2.7.9.tar.bz2
  3. 创建安装目录
  mkdir/usr/local/python27
  4. 安装python
  ./configure--prefix=/usr/local/python27
  make
  make install
  5. 修改老版本的ln指向(注意:这里修改后,可能会影响yum的使用)
  # mv /usr/bin/python /usr/bin/python2.6.6
  # ln -s /usr/local/python27/bin/python/usr/bin/python
  报错:
  # yum clean all
  There was a problem importing one of the Python modules
  required to run yum. The error leading to this problem was:
  No module named yum
  Please install a package which provides this module, or
  verify that the module is installed correctly.
  It's possible that the above module doesn't match the
  current version of Python, which is:
  2.7.9 (default, Dec 17 2014, 16:50:28)
  
  If you cannot solve this problem yourself, please go to
  the yum faq at:
  http://yum.baseurl.org/wiki/Faq
  错误原因:错误信息描述为yum 所依赖的python不相符,请安装相对应的python即可
  # rpm -qa | grep yum
  yum-metadata-parser-1.1.2-16.el6.x86_64
  yum-plugin-fastestmirror-1.1.30-30.el6.noarch
  PackageKit-yum-0.5.8-23.el6.x86_64
  yum-3.2.29-60.el6.centos.noarch
  yum-plugin-security-1.1.30-30.el6.noarch
  PackageKit-yum-plugin-0.5.8-23.el6.x86_64
  yum-utils-1.1.30-30.el6.noarch
  You have new mail in /var/spool/mail/root
  # whereis python
  python: /usr/bin/python2.6 /usr/bin/python /usr/lib/python2.6/usr/lib64/python2.6 /usr/include/python2.6/usr/share/man/man1/python.1.gz
  # python -V
  Python 2.7.9
  现在系统上有两个版本的python!!!yum是由python写的!
  一个是我刚安装的2.7.9,一个是centos默认安装的2.6.6
  但是我执行了:
  # mv /usr/bin/python /usr/bin/python2.6.6
  # ln -s /usr/local/python27/bin/python/usr/bin/python
  # python -V
  Python 2.7.9
  # which yum
  /usr/bin/yum   这个文件使用了python,看来这个yum不支持,2.7.9高版本的python
  解决:
  # vim /usr/bin/yum
  把python环境改成python2.6.6
  pip:python软件包管理工具
  参考:
  安装之前:先安装opensslopenssl-devel,后面你就会知道
  https://pip.pypa.io/en/latest/installing.html
  pip使用文档:
  https://pypi.python.org/pypi/pip#downloads
  ---------------------------------------------------------------------
  安装setuptools和pip:
  安装setuptools:
  使用 ez_setup.py脚本安装setuptools
  wget http://peak.telecommunity.com/dist/ez_setup.py
  python ez_setup.py
  参考:什么是easy_install:
  http://www.cnblogs.com/huangjacky/archive/2012/03/28/2421866.html
  安装pip-1.4:后面讲如何升级pip
  wget https://pypi.python.org/packages/source/p/pip/pip-1.4.tar.gz#md5=ca790be30004937987767eac42cfa44a
  tar -zxf pip-1.4.tar.gz && cd pip-1.4
  python setup.py install
  PS. 记得设置%PYTHON_HOME%/Scripts/到PATH环境变量
  #vim /etc/profile
  export PATH="/usr/local/mysql/bin:/usr/local/python2.7/bin:$PATH"
  #source /etc/profile
  参考:pip的安装:
  http://blog.csdn.net/cnyyx/article/details/25614669
  参考:pip的用法
  http://www.111cn.net/sys/linux/60630.htm
  --------------------------------------------------------------------
  #pip list --outdated
  发现pip是pip-1.4版本太低可以更新:
  将pip-1.4升级到pip-1.5.6:
  # pip install --upgrade pip
  报错:ImportError:cannot import name HTTPSHandler
  # pip
  Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
  load_entry_point('pip==1.5.6', 'console_scripts', 'pip')()
  File "build/bdist.linux-x86_64/egg/pkg_resources.py",line 458, in load_entry_point
  File "build/bdist.linux-x86_64/egg/pkg_resources.py",line 2545, in load_entry_point
  File "build/bdist.linux-x86_64/egg/pkg_resources.py",line 2244, in load
  File"/usr/local/python27/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/__init__.py",line 10, in <module>
  from pip.util import get_installed_distributions, get_prog
  File"/usr/local/python27/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/util.py",line 18, in <module>
  from pip._vendor.distlib import version
  File"/usr/local/python27/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/_vendor/distlib/version.py",line 14, in <module>
  from .compat import string_types
  File"/usr/local/python27/lib/python2.7/site-packages/pip-1.5.6-py2.7.egg/pip/_vendor/distlib/compat.py",line 31, in <module>
  from urllib2 import (Request, urlopen, URLError, HTTPError,
  ImportError: cannot import name HTTPSHandler
  解决:安装openssl openssl-devel
  解决:
  yuminstall -y openssl   openssl-devel
  然后重新编译python!!
  安装Django:版本:1.7.1
  # pipinstall Django
  Downloading/unpacking Django
  DownloadingDjango-1.7.1-py2.py3-none-any.whl (7.4MB):20%1.5MB
  但是,悲剧的是:
  python升级之后,KVM的图形管理界面就打不开了,但是KVM虚拟机都没有挂掉,只是说,图形管理界面挂了!!!
  报错:
  #virt-manager
  Traceback (most recent calllast):
  File"/usr/share/virt-manager/virt-manager.py", line 400, in<module>
  main()
  File"/usr/share/virt-manager/virt-manager.py", line 251, inmain
  from virtManager importcli
  File"/usr/share/virt-manager/virtManager/cli.py", line 29, in<module>
  import libvirt
  ImportError:No module named libvirt
  You have new mail in/var/spool/mail/root
  解决:
  #/usr/bin/python2.6.6 -V
  Python 2.6.6
  #/usr/bin/python2.7 -V
  Python 2.7.9
  使用python2.6.6启动virt-manager:
  #/usr/bin/python2.6.6 "/usr/share/virt-manager/virt-manager.py"
页: [1]
查看完整版本: 升级python,安装pip,Django-muahao