Understanding Metaclass

http://blog.jobbole.com/21351/

http://stackoverflow.com/questions/100003/what-is-a-metaclass-in-python

廣告

Python magic methods & mixin

Magic methods: http://pycoders-weekly-chinese.readthedocs.io/en/latest/issue6/a-guide-to-pythons-magic-methods.html

Mixin: https://news.ycombinator.com/item?id=7994505

[Python] Get socket name

import socket

def get_addr4():
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect((“8.8.8.8″, 80))
ip = s.getsockname()[0]
s.close()
return ip

print get_addr4()

CentOS 7 安裝 Python3,pip3

CentOS 7 默認安裝了 Python 2,當需要使用 Python 3 的時候,可以手動下載 Python 源碼後編譯安裝。

一,安裝 Python 3

1.1 安裝準備

$ sudo mkdir/usr/local/python3 #創建安裝目錄
#下載Python源文件
#注意:wget獲取https的時候要加上: – no-check-certificate
$ tar -xzvf Python-3.6.0.tgz #解壓縮包
$ cd Python-3.6.0 #進入解壓目錄

1.2 編譯安裝

$ sudo ./configure –prefix = /usr/local/python3 #指定創建的目錄
$ sudo make
$ sudo make install

1.3 配置

1.3.1 兩個版本共存

創建 python3 的軟鏈接:

$ sudo ln -s /usr/local/python3/bin/python3 /usr/bin/python3

這樣就可以通過python命令使用 Python 2, python3來使用 Python 3。

1.3.2 修改默認為 Python 3

/usr/bin中的python備份

 $ sudo mv python python.bak

然後創建 python3 的軟鏈接

 $ sudo ln -s /usr/local/python3/bin/python3 /usr/bin/python

這樣默認的 Python 版本就替換為 Python 3 了。

因為 yum 使用 Python 2,因此替換為 Python 3 後可能無法正常工作,因此修改 yum 配置文件

sudo vi /usr/bin/yum

將第一行指定的 python 版本改為 python2.7( #!/usr/bin/python改為#!/usr/bin/python2.7 )

二,安裝 pip

2.1 yum 安裝

#首先安裝epel擴展源
$ sudo yum -y安裝epel-release
#安裝python-pip
$ sudo yum -y安裝python-pip
#清除緩存
$ sudo yum清理所有

通過這種方式貌似只能安裝 pip2,想要安裝 Python 3 的 pip,可以通過以下的源代碼安裝方式。

2.2 源碼安裝

#下載源代碼
$ wget –no-check-certificate https://github.com/pypa/pip/archive/9.0.1.tar.gz
$ tar -zvxf 9.0.1 -C pip-9.0.1 #解壓文件
$ cd pip-9.0.1
#使用Python 3安裝
$ python3 setup.py install

創建鏈接:

$ sudo ln -s /usr/local/python3/bin/pip /usr/bin/pip3

2.3 升級點

$ pip install –upgrade pip

參考文章

https://ehlxr.me/2017/01/07/CentOS-7-%E5%AE%89%E8%A3%85-Python3%E3%80%81pip3/