Life is short, I use Python
First, upgrade to python2.7
The development environment of the system is CentOS 6.0, the default Python version is 2.6.6, because the online environment is python2.7, in order to prevent the issue of version differences, so to upgrade Python, upgrade Python under CentOS there is the way
- Yum installation, the simplest, but the official download source version update is slow, so you need to change the download source of the development machine, such as NetEase's
- RPM Installation
- SOURCE Installation
Here only to introduce the process of updating the source code, because the source of the installation, customization of a lot of things, compared to control it
To install Python, you need to download the dependent components that will be used during compilation or during development
Yum Groupinstall "Development tools" Yum install Mysql-python zlib-devel bzip2-devel openssl-devel ncurses-devel Sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel-yyum install python-psycopg2-yyum install gcc py Thon-devel-yyum Install Python-memcached-y
Next can be developed to download python, for some reason, the Python official website will be Q (everyone knows), so it is recommended to replace the download source, such as: Sohu Http://mirrors.sohu.com/python
wget http://mirrors.sohu.com/python/2.7.7/python-2.7.7.tgz
TAR-XVF python-2.7.7.tgz
CD Python-2.7.7
./configure--prefix=/usr/local/python2.7
Make
sudo make install
In my first compilation process, encountered a lot of wonderful problems, such as:
Python build finished, but the necessary bits-to-build these modules were not found: _bsddb
_curses _curses_panel _sqlite3 _ssl _tkinter bsddb185 bz2 dbm DL gdbm imageop readline sunaudiodev zlib to find the necessary bits, look in setup.py in detect_ Modules () for the module ' s name.
To give the message, it is clear that the corresponding module during compilation is not found, so also need to install the dependency package in advance, find some dependency on the network, the corresponding relationship, as follows:
Module |
Depend on |
Description |
_bsddb |
Bsddb |
Interface to Berkeley DB Library. Interface to the Berkeley database |
_curses |
Ncurses |
Terminal handling for Character-cell displays. |
_curses_panel |
Ncurses |
A panel stack extension for curses. |
_sqlite3 |
Sqlite |
DB-API 2.0 interface for SQLite databases. Sqllite,centos can be installed Sqlite-devel |
_ssl |
openssl-devel.i686 |
Tls/ssl wrapper for socket objects. |
_tkinter |
N/A |
A thin object-oriented layer on top of TCL/TK. If you do not use a desktop program, you can ignore Tkinter |
bsddb185 |
Old BSDDB Module |
Old BSDDB module, can be ignored. |
bz2 |
bzip2-devel.i686 |
Compression compatible with bzip2. Bzip2-devel |
Dbm |
Bsddb |
Simple "Database" interface. |
Dl |
N/A |
Call C functions in shared objects. Python2.6 started, has been deprecated. |
gdbm |
gdbm-devel.i686 |
GNU ' s reinterpretation of dbm |
Imageop |
N/A |
Manipulate RAW image data. has been deprecated. |
ReadLine |
Readline-devel |
GNU ReadLine Interface |
Sunaudiodev |
N/A |
Access to Sun audio hardware. This is for Sun platform, can be ignored under CentOS |
Zlib |
Zlib |
Compression compatible with gzip |
I installed the Readline-devel,sqlite-devel, bzip2-devel.i686,openssl-devel.i686,gdbm-devel.i686,libdbi-devel.i686,ncurses-libs,zlib-devel.i686, these dependent packages, recompile, all OK.
After installation, confirm that the installation is correct
/usr/local/python2. 7/bin/python2. 7 -V
However, the execution of Python-v is still Python 2.6, so make a soft connection
Ln-fs/usr/local/python2.7/bin/python2.7/usr/bin/python
Now execute python-v, show ptyhon2.7.
But, there is one last question, after the change, Yum will not run, so modify the first line of the/usr/bin/yum file
# !/usr/bin/python
Change into
# !/usr/bin/python2.6
Run Yum,everthing is ok! again
Second, install pip
Install Setuptools First, if python3.0 version, to install Distutils dependent package
wget Https://pypi.python.org/pypi/ez_setup
Unzip, enter the directory, execute:
Ptyhon ez_setup.py
The Easy_install was installed,
Next, install the PIP
wget Https://pypi.python.org/pypi/pip
Unzip, enter the directory, execute:
Python setup.py Install
After successful installation, execute pip , prompt command not found
The original PIP has not been put into the path.
Echo $PATH/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/titan/bin
So to add the PIP path to the system environment variable
# Vim/etc/profile
Add at the end of the document
Export path= "/usr/local/python-2.7.7/bin: $PATH"
Save exit. Execute # source/etc/profile
No error, it means success
Execute # pip-v again to display the command prompt.
Or because of the well-known reasons, PyPI website is also very slow links, it is recommended to use the domestic pypi source, such as watercress: http://pypi.douban.com
Add ~/.pip/pip.conf and write the following:
[Global] Index-url = http://pypi.douban.com/simple[install]trusted-host=pypi.douban.com
Everthing is ok!
Third,virtualenv
a machine may have multiple projects, in order to ensure that each project depends on the environment is pure, only provided to their own, then need to virtualenv!
virtualenv is used to create a stand-alone Python environment where multiple python is independent from each other and can :
- Install a new suite without permissions
- Different versions of the suite can be used for different applications
- Package upgrade does not affect other apps
1, installation Virtualenv
Install via Pip, or install via Yum
# pip Install virtualenv
How to use:
virtualenv [Virtual Environment name]
For example, create a tjf_env virtual environment
Virtualenv tjf_env
By default, the virtual environment relies on site packages in the system environment, which means that the installed third-party package in the system is also installed in the virtual environment, if you do not want to rely on the package, Then you can add the parameter--no-site-packages set up the virtual environment
virtualenv--no-site-packages [Virtual environment name]
Start the virtual environment
CD ENV
source./bin/activate
Note that at this point the command line one more (env), Env is the virtual environment name, then all the modules will only be installed in the directory.
Exit the virtual Environment:
Deactivate
Installing the Python Suite virtualenv in a virtual environment comes with the PIP installation tool, so the kit that needs to be installed can be run directly:
PIP install [package name]
If the virtual environment is not started and the PIP tool is installed, the package will be installed in the system environment, in order to avoid this, you can add the following in the ~/.BASHRC file:
Export Pip_require_virtualenv=true
or let the system automatically turn on the virtual environment when the PIP is executed:
Export Pip_respect_virtualenv=true
2, Installation Virtualenvwrapper
Virtaulenvwrapper is an expansion pack for virtualenv that makes it easier to manage virtual environments and can do:
- Consolidate all virtual environments in one directory
- Manage (new, delete, copy) virtual environments
- Switching Virtual Environments
- ...
Installation: sudo pip install virtualenvwrapper
At this time can not use Virtualenvwrapper, the default virtualenvwrapper installed under/usr/local/bin, in fact, you need to run the virtualenvwrapper.sh file before the line, do not worry, open this file to see, There are installation steps, we set the environment according to the operation.
1. Create a directory to store the virtual environment
mkdir $HOME/.virtualenvs
2. Add line in ~/.BASHRC: export workon_home= $HOME/.virtualenvs
3. Add line in ~/.BASHRC: source/usr/local/bin/virtualenvwrapper.sh
4. Run: source ~/.BASHRC
At this point the Virtualenvwrapper is ready to use.
Lists the virtual environment list Workon
New virtual Environment mkvirtualenv [virtual environment name]
Start/Switch Virtual environment Workon [virtual environment name]
Deleting a virtual Environment rmvirtualenv [virtual environment name]
Leaving the virtual environment deactivate
Virtualenv complete, everything is ok!
Iv. Web Framework
With the basics of PIP, what you want to install, it's almost as easy as a sniffer bag to take:
Pip Install djangopip install Tornadopip install flask
Python environment for the Python development environment