CentOS下Python2和Python3安装
Python2和Python3可以共存,不需要虚拟环境。并且,pip自动安装Python2的库,pip3自动安装Python3的库,不会混淆;需要注意的是,pip最好升级到最新版本,可以自动下载适合Python2的库,不然在pip intall时会下载较高版本的库,Python2无法安装。
默认安装了Python2.7,现在安装Python3:
1. 安装readline
readline可以实现在python编辑器命令输入的时候实现自动补全,输入命令时可以使用上下键,删除键等…不安装的话在Python3环境下,连删除键都不能用。。。。
yum -y install readline-devel
2. 安装openssl
不安装这个的话,使用pip3(安装Python3时自动安装)安装库的时候会出现下面的错误:
pip3 install numpy
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
yum -y install openssl-devel
3. 安装Python3.7
1.下载Python3.7安装包(Ubuntu应该可以直接apt-get install)
wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
tar -zxvf Python-3.7.4.tgz
cd Python-3.7.4/
./configure --with-ssl #不加这个参数ssl会不可用
make #编译
make install #安装
编译安装Python3时遇到错误:
1.configure: error: no acceptable C compiler found in $PATH
yum -y install gcc
2.zipimport.ZipImportError: can’t decompress data,缺少zlib,安装:
yum -y install zlib*
3.ModuleNotFoundError: No module named ‘_ctypes’
yum -y install libffi-devel tk-devel
安装后重新 make install
4. 添加软连接
ln -s /usr/local/bin/python3 /usr/bin/python3 #前面这个目录与网上通常说的目录有所不同
ln -s /usr/local/bin/pip3 /usr/bin/pip3 #安装Python3的时候会自动安装pip3
5. 安装虚拟环境
Python2与Python3其实不需要虚拟环境隔离,只有Python3之间的小版本之间需要隔离运行,也可以为自己的工程创建一个单独的虚拟环境,方便自定义依赖包的版本。
pip3 install virtualenv
pip3 install virtualenvwrapper #不知道为啥,用pip安装总是出错,所以用pip3
使用mkvirtualenv但是出现: command not found
vim ~/.bashrc
#在下面添加两句话
export WORKON_HOME=~/.environments # 指定虚拟环境存放目录,.virtualenvs目录名可自拟
export VIRTUALENVWRAPPER_PYTHON=/bin/python3 #指定使用的Python版本
source /usr/local/bin/virtualenvwrapper.sh
source ~/.bashrc
创建虚拟环境:
mkvirtualenv --python=python3 py3 #指定Python版本创建虚拟环境py3,也可不写
lsvirtualenv #列出所有虚拟环境
workon py3 #激活py3环境
deactivate #退出虚拟环境
rmvirtualenv py3 #删除某个虚拟环境
6. 安装requirements.txt
生成requirements.txt文件
pip freeze > requirements.txt
安装requirements.txt依赖
pip install -r requirements.txt
7. 安装Mysql依赖包
1.Python2安装MySQLdb
yum install mysql-devel
yum -y install python-devel
pip install mysql-python
#导入 import MySQLdb
2.Python3安装PyMySQL
pip3 install PyMySQL