Skip to content

Instantly share code, notes, and snippets.

@fire9
Created December 25, 2017 09:22
Show Gist options
  • Save fire9/cf7f249348b63afd908918c7770e9a18 to your computer and use it in GitHub Desktop.
Save fire9/cf7f249348b63afd908918c7770e9a18 to your computer and use it in GitHub Desktop.
Python 环境搭建

Python 环境搭建

针对 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软件包

# 安装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

Python 包相关安装

# 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

Display Python Version

$ python -V
Python 2.7.12+

Setup easy_install and Pip

$ wget https://raw.github.com/pypa/pip/master/contrib/get-pip.py
$ sudo python get-pip.py

Display Pip Version

$ pip --version
pip 9.0.1 from /usr/local/lib/python2.7/site-packages (python 2.7)

Install Virtualenv

$ pip install virtualenv

Virtualenv Help

$ virtualenv --help

Check Installed library in Pip

$ 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

Create Virutal Env use virtualenv or virtualenvwrapper

$ 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

Git & Github Build

$ sudo aptitude install git
git --version

Editor

Vim

# 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

Use mkvirtualenv

$ mkvirtualenv --help
$ mkdirtualenv newenv
$ ls -la $HOME/.virtualenvs
$ workon newenv # ENTRY ENV
$ workon # running env
$ rmvirtualenv newenv # delete virtualenv

Extra Python library

Ipython

$ pip install ipython

check code style tools

$ pip install pep8

check code syntax

$ pip install pyflakes

pdb debug

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)
  1. pip
  2. virtualenv & virtualwarpper
  3. pylint
  4. debugger
  5. Sphinx
  6. 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment