1 概述
由於最近項目全部由python2.x
轉向 python3.x
(使用 python3.7.1
) ,之前的雲主機的的默認python版本都面臨升級,故進行了升級后將相應的步驟記錄下來,作為學習筆記吧。
服務器運行環境:
- ubuntu 18 LTS Server(同樣也適合14,16,還有MacOS)
本安裝方式具有如下特點:
- 不影響已經有的
python
環境 - 增量式安裝
- 完全隔離的沙盒環境
- 甚至可以不需要root權限
2 下載
在python
官網下載指定平台下的python3.7.1
的環境
wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tgz
例如,下載下載的文件為Python-3.7.1.tgz
3 解壓
然后進行解壓:
tar -xvzf Python-3.7.1.tgz
生成目錄Python-3.7.1
4 安裝
進入目錄Python-3.7.1
,進行配置:
./configure --with-ssl --prefix=/usr/local/python3
編譯和安裝:
make make install
5 建立虛擬環境
使用python開發環境的時候,一般建立在虛擬環境,這樣可以形成項目運行環境的隔離,防止不同依賴的項目的干擾。
進入到當前用戶Home
目錄后,直接運行:
python3 -m venv py3venv --without-pip
注意:pyvenv腳本在3.7.1之后的版本中逐漸廢棄,鼓勵使用python3 -m venv,這樣可以避免搞錯pyvenv所關聯的版本。
如果提示沒有找到 venv 命令,則安裝:
sudo apt install python3-venv
記得帶上 --without-pip ,否則可能報錯:
Failing command: ['/root/.pyvenv/py3venv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']
經過上述操作,即可生成一份克隆有python3.7.1
的虛擬環境,然后運行:
source ./py3venv/bin/activate
即可使當前終端環境變成python3.7.1
的環境,看到終端前輟帶有py3venv
表明已經成功:
(py3venv) webapp@iZ25torzzzzZ:~/py3venv/bin$
然后輸入命令python
,就可以看到進入到python3.7.1
的運行界面:
(py3venv) webapp@iZ25torzzzzZ:~$ python Python 3.7.1 (default, Jun 3 2016, 19:37:46) [GCC 4.8.4] on linux Type "help", "copyright", "credits" or "license" for more information. >>>
6 安裝pip
建立虛擬環境后,下一步就是為虛擬環境安裝第三方庫管理工具pip
在py3venv
虛擬環境下面執行:
curl https://bootstrap.pypa.io/get-pip.py|python
然后就可以在此環境下使用pip
來進行管理python的第三方庫了。
但是由於官方庫經常國內不能正常訪問, 可以修改其為國內鏡像。
linux下,修改 ~/.pip/pip.conf (沒有就創建一個), 修改 index-url,內容如下:
[global]
index-url = https:
//pypi.tuna.tsinghua.edu.cn/simple
|
7 常見問題-HTTPS錯誤提示
有時候需要升級pip
時,執行:
pip install --upgrade pip
出現HTTPS的錯誤提示:
pip raises ImportError: cannot import name HTTPSHandler
則需要安裝 libssl-dev :
sudo apt-get install libssl-dev
然后再重新編譯和安裝python3.7.1:
make make install
7 后記補充
Ubuntu18之后,建議用apt方式直接安裝。
MacOS則直接建議brew+pyenv的方式安裝。
全自動化的,省事。