Debain安裝python3.7準(zhǔn)備工作
關(guān)鍵字:
- python3.7
- SSL
- pip3安裝失敗
- pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
gcc安裝
# 更新apt源
sudo apt update
安裝gcc
sudo apt install build-essential
安裝成功后,執(zhí)行以下命令,確定安裝成功
gcc --version
安裝結(jié)果

SSL安裝/升級(jí)
步驟一
wget下載openssl到本地
$ wget https://www.openssl.org/source/openssl-1.1.1g.tar.gz
步驟二
解壓openssl
tar zxvf openssl-1.1.1g.tar.gz
步驟三
cd到openssl-1.1.1g目錄,配置openssl的安裝目錄
./config --prefix=/home/username/openssl --openssldir=/home/username/openssl no-ssl2
#/home/username參數(shù)根據(jù)用戶修改
#如root用戶:/home/username=/root
#qa用戶:/home/username=/home/qa
步驟四
執(zhí)行make,完成后執(zhí)行make test
步驟五
cd到根目錄,創(chuàng)建/編輯 .bash_profile
export PATH=$HOME/openssl/bin:$PATH export LD_LIBRARY_PATH=$HOME/openssl/lib
export LC_ALL="en_US.UTF-8"
export LDFLAGS="-L/home/username/openssl/lib -Wl,-rpath,/home/username/openssl/lib"
#$HOME:當(dāng)前的用戶根目錄
#/home/username:當(dāng)前用戶的根目錄,具體根據(jù)openssl安裝路徑進(jìn)行調(diào)整
步驟六
測(cè)試校驗(yàn)openssl安裝

安裝python3.7
- 安裝openssl的原因是python3.7版本以后,對(duì)pip源進(jìn)行ssl校驗(yàn)
- sudo apt-get install zlib1g-dev
- sudo apt-get install libffi-dev
步驟一
選擇python對(duì)應(yīng)版本,版本選型https://www.python.org/downloads/source/
步驟二
登陸服務(wù)器,wget下載python壓縮包,并解壓
[server]$ cd ~
[server]$ mkdir tmp
[server]$ cd tmp
[server]$ wget http://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
[server]$ tar zxvf Python-3.7.0.tgz
步驟三
cd到Python-3.7.0的解壓文件夾中的Modules
[server]$ cd Python-3.7.0
[server]$ cd Modules
vim編輯Modules下的Setup或者Setup.dist,目的是指定SSL路徑(前面openssl安裝的路徑)

步驟四
cd切換到Python-3.7.0解壓文件夾中,執(zhí)行python安裝命令
[server]$ cd ..
[server]$ ./configure --prefix=/root/python-3.7.0
[server]$ make
[server]$ make install
#備注:--prefix=/root/python-3.7.0,python需要安裝的目錄
步驟五
指定了安裝的路徑,所以,在這里建立軟鏈
sudo ln -s /root/python3/bin/python3.7 /usr/bin/python3
sudo ln -s /root/python3/bin/pip3 /usr/bin/pip3
異常問(wèn)題
如果不成功,可能使python3已經(jīng)存在了,sudo rm python3 或者 換一個(gè)名字,比如python37
這個(gè)時(shí)候運(yùn)行pip3 時(shí)出現(xiàn)了問(wèn)題:
subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1.
解決:sudo rm /usr/bin/lsb_release
備注:
- 為了讓不同租戶使用,將python3.7安裝在/usr/local/lib內(nèi)部
- debain上安裝
安裝virtualenvwrapper
- *nix:pip install virtualenvwrapper。
- windows:pip install virtualenvwrapper-win。
virtualenvwrapper環(huán)境變量配置
cd到跟目錄,新建/更新.bash_profile文件
# virtualenv-wrappper path
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh
python3.7安裝mysqlclient異常
下載安裝default-libmysqlclient-dev
安裝失?。?/p>

解決方案:
# 更新apt的索引
apt update
# 查詢模塊
aptitude search mysqlclient
#輸出
p default-libmysqlclient-dev - MySQL database development files (metapackage)
# 下載
apt-get install default-libmysqlclient-dev
apt的源目錄在:/etc/apt/source.list
參考:
https://help.dreamhost.com/hc/en-us/articles/115000702772-Installing-a-custom-version-of-Python-3
https://cloud.tencent.com/developer/ask/41016