Ubuntu部署python3.7的開發和運行環境


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的方式安裝。

全自動化的,省事。

 

轉自:https://www.cnblogs.com/beer/p/5557497.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM