Debain安装python3.7

Debain安装python3.7准备工作

关键字:

  • 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

安装成功后,执行以下命令,确定安装成功

gcc --version

安装结果


image.png

SSL安装/升级

步骤一

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参数根据用户修改
#如root用户:/home/username=/root
#qa用户:/home/username=/home/qa

步骤四

执行make,完成后执行make test

步骤五

cd到根目录,创建/编辑 .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:当前的用户根目录
#/home/username:当前用户的根目录,具体根据openssl安装路径进行调整

步骤六

测试校验openssl安装


image.png

安装python3.7

  • 安装openssl的原因是python3.7版本以后,对pip源进行ssl校验
  • sudo apt-get install zlib1g-dev
  • sudo apt-get install libffi-dev

步骤一

选择python对应版本,版本选型https://www.python.org/downloads/source/

步骤二

登陆服务器,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安装的路径)

image.png

步骤四

cd切换到Python-3.7.0解压文件夹中,执行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

异常问题

如果不成功,可能使python3已经存在了,sudo rm python3 或者 换一个名字,比如python37

这个时候运行pip3 时出现了问题:
subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1.
解决:sudo rm /usr/bin/lsb_release

备注:

  • 为了让不同租户使用,将python3.7安装在/usr/local/lib内部
  • debain上安装

安装virtualenvwrapper

  • *nix:pip install virtualenvwrapper。
  • windows:pip install virtualenvwrapper-win。

virtualenvwrapper环境变量配置

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
安装失败:


image.png

解决方案:

#  更新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

你可能感兴趣的:(Debain安装python3.7)