python
荷蘭人Guido van Rossum,2005年加入Google,2013年加入Dropbox.
1989年,創立了Python語言,1991年初發布第一個公開發行版.
他是英國BBC喜劇《Monty Python's Flying Circus》的忠實粉絲
Python哲學
>>> import this
>>>Python之禪
版本
2.x:發展到了2.7。
3.x:發展到了3.7,3.x始自2008年,3.5版本發布於2015年。
https://pythonclock.org 2.x的倒計時。
2.x和3.x大概區別:
語句函數化,例如print(1,2)打印出1 2,但是2.x中意思是print語句打印元組,3.x中意思是函數的2個參數。
整除,例如1/2和1//2,3.x版本中/為自然除。
3.x中raw_input重命名為input,不再使用raw_input。
round函數,在3.x中i.5的取整變為距離最近的偶數。
字符串統一使用Unicode。
異常的捕獲、拋出的語法改變。
開發環境-pyenv
Python多版本管理工具作用:
管理Python解釋器
管理Python版本
管理Python的虛擬環境
pyenv官網 https://github.com/pyenv/pyenv
pyenv安裝
參照安裝文檔
pyenv的安裝
python多版本安裝
pyenv之global、shell、local的設置
pyenv的虛擬環境
更新:$ pyenv update
1. git安裝
# yum install git -y
2. 安裝python編譯依賴環境
# yum -y install gcc make patch gdbm-devel openssl-devel sqlite-devel readline-devel zlib-devel bzip2-devel
3. 創建用戶python
# useradd python
4. 使用python用戶登錄后安裝pyenv
# su - python
$ curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
注意:
- 在 https://github.com/pyenv/pyenv-installer 有安裝文檔.
- centos6版本:如果curl出現 curl: (35) SSL connect error ,是nss版本低的問題,更新它。 可能需要
配置一個有較新包的yum源
# echo '[updates]
name=CentOS-Updates
baseurl=https://mirrors.aliyun.com/centos/6.9/os/x86_64
gpgcheck=0' > /etc/yum.repo.d/Centos-Updates.repo
然后更新nss
# yum update nss
5. 加載pyenv
$ echo 'export PATH="/home/python/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"' > ~/.bashrc
$ source ~/.bashrc
這樣當用戶啟動的時候,會執行用戶的.bashrc中的腳本,就會啟動pyenv。 安裝好的pyenv
就在~/.pyenv中.
pyenv離線安裝
首先從github上克隆項目
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv
$ git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenvvirtualenv
$ git clone https://github.com/pyenv/pyenv-update.git ~/.pyenv/plugins/pyenvupdate
$ git clone https://github.com/pyenv/pyenv-which-ext.git ~/.pyenv/plugins/pyenv-which-ext
可以把克隆的目錄打包,方便以后離線使用。
$ vim ~/.bashrc
export PATH="/home/python/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
pyenv常用命令
version
顯示當前的python版本 versions 顯示所有可用的python版本,和當前版本。
install
$ pyenv install 3.5.6
安裝python發行版本。
virtualenv
$ pyenv virtualenv 3.5.6 common_env
創建虛擬環境.
local 本地設置
使用pyenv local設置從當前工作目錄開始向下遞歸都繼承這個設置。 $ pyenv local 3.5.3
update
更新pyenv版本與github同步。
shell 會話設置
影響只作用於當前會話 $ pyenv shell 3.5.3
global 全局設置
$ pyenv global 3.5.3
可以看到所有受pyenv控制的窗口中都是3.5.3的python版本了。
這里用global是作用於非root用戶python用戶上,如果是root用戶安裝,請不要使
用global,否則影響太大。
比如,這里使用的CentOS7就是Python2.7,使用了global就成了3.x,
會帶來很不好的影響。 $ pyenv global system
pip包管理
pip install xxx yyy
pip list
pip search keyword 或者 pypi
pip help install
pip 配置
$ vim ~/.pip/pip.conf
[global]
index-url=http://mirrors.aliyun.com/pypi/simple
trusted-host=mirrors.aliyun.com
#阿里雲、清華、豆瓣的國內源
pip導出/安裝依賴包
pip freeze > requirement #導出依賴包
pip install -r requirement #安裝依賴包