针对 Ubuntu 系统搭建
$ sudo aptitude -y update
$ sudo aptitude -y upgrade
$ sudo apt-get -y install build-essential
$ sudo apt-get -y install libsqlite3-dev
$ sudo apt-get -y install libreadline6-dev
$ sudo apt-get -y install libgdbm-dev
$ sudo apt-get -y install zlib1g-dev
$ sudo apt-get -y install libbz2-dev
$ sudo apt-get -y install sqlite3
$ sudo apt-get -y install tk-dev
$ sudo apt-get -y install zip
$ sudo apt-get -y install libssl-dev
# 安装python-dev
$ sudo apt-get -y install python-dev
# 安装pip
$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python get-pip.py
$ sudo pip install virtualenv virtualenvwrapper
# Install python-dev package
$ sudo aptitude -y install python-dev
# Install Distribute package
$ sudo chmod -R 0775 /usr/local
$ sudo chgrp -R `whoami` /usr/local
$ wget http://python-distribute.org/distribute_setup.py
$ sudo python distribute_setup.py
$ python -V
Python 2.7.12+
$ wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py
$ sudo python get-pip.py
$ pip --version
pip 9.0.1 from /usr/local/lib/python2.7/site-packages (python 2.7)
$ pip install virtualenv
$ virtualenv --help
$ pip freeze
> pip freeze
ansible==2.2.1.0
appnope==0.1.0
backports.shutil-get-terminal-size==1.0.0
cffi==1.9.1
cryptography==1.7.2
decorator==4.0.11
enum34==1.1.6
Fabric==1.13.1
idna==2.2
ipaddress==1.0.18
ipython==5.2.2
ipython-genutils==0.1.0
Jinja2==2.8.1
MarkupSafe==0.23
paramiko==2.1.1
pathlib2==2.2.1
pexpect==4.2.1
pickleshare==0.7.4
prompt-toolkit==1.0.13
ptyprocess==0.5.1
pyasn1==0.2.2
pycparser==2.17
pycrypto==2.6.1
Pygments==2.2.0
PyYAML==3.12
requests==2.13.0
scandir==1.4
simplegeneric==0.8.1
six==1.10.0
traitlets==4.3.1
wcwidth==0.1.7
$ pip install virtualenv virtualenvwrapper
$ export VIRTUALENV_USE_DISTRIBUTE=true
$ mkdir ~/work
$ cd ~/work
$ virtualenv env
$ cd env & source bin/activate
$ deactivate
# use virtualwrapper
# vi .bashrc or .zshrc
if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
if
$ source ~/.bashrc or ~/.zshrc
$ sudo aptitude install git
git --version
# vi ~/.vimrc syntax on filetype plugin indent on setl expandtab setl tabstop=4 setl shifwidth=4 setl softtabstop=4 autocmd BufWritePre * :%s/\s\++$//ge setl textwidth=80
$ mkdir -p ~/.vim/ftplugin
$ touch ~/.vim/ftplugin/python.vim
$ mkvirtualenv --help
$ mkdirtualenv newenv
$ ls -la $HOME/.virtualenvs
$ workon newenv # ENTRY ENV
$ workon # running env
$ rmvirtualenv newenv # delete virtualenv
$ pip install ipython
$ pip install pep8
$ pip install pyflakes
example
def add(x,y):
return x + y
x = 0
import pdb; pdb.set_trace()
x = add(1, 2)
Running example
$ python pdbtest.py
> pdbtest.py(7)<module>()
-> x = add(1, 2)
(Pdb)
- pip
- virtualenv & virtualwarpper
- pylint
- debugger
- Sphinx
- Package and distributing your project
>>> import requests
>>> requests.get(http://www.devopscode/org/api)
>>> import sys
>>> sys.path
Creating adn distrbuting packages Use setuptools For distutils: discontinued, merged into setuptools Easy_instal is included in setuptools See last module of this course
Installing packages; Use pip Install PIP
pip install requests pip install requests==1.0 pip install 'requests>=2.1'
pip uninstall requests
pip list pip show requests pip search query
Python Packaging User Guide Pip Cheese Shop
pip freeze > requirements.txt pip install -r requirements.txt
pip install virtualenv mkdir .virtualenvs
pip install virtualwrapper
vi /.profile
source /usr/local/bin/virtualwrapper.sh
export PROJECT_HOME="/Github"
workon myblog
git clone git@github.io/devopscode/myblog cd myblog mkvirtualenv myblog setvirtualenvproject
mkproject sample
pylint pylint-gui
pylint --generate-rcfile
bytes 类型
name =" max donny "
print name.capitalize
print len(name)
print name.strip()
#!/usr/local/bin/env python
# coding:utf-8
# FileName: py_lib_exercite.py
# Author: Max Donny <devopscode@gmail.com>
#
print __doc__:
'''
refe: https://docs.python.org/2/library/subprocess.html
'''
import os
import subprocess
from subprocess import call
print os.version()
print os.system('ls -l')
for lines in os.path:
print lines
print call('date')
time = subprocess.Popen('date', stdout=subprocess.PIPE, stderr = subprocess.PIPE)
output, err = time.communicate()
print "It is ", output
time = subprocess.check_output('date')
print "It's ", time
import sys
sys.getsizeof(10)
sys.maxint
hex(sys.maxint)
mkvirtualenv env1
mkvirtualenv --system-site-packages env3
rmvirtualenv env1
lsvirtualenv
mkproject --system-site-packages -i scrapy webbot