centos
安装python3
参考 centos下安装python3详细教程
1.python位置
使用whereis python
得到python
位置
[root@iz2ze3g6pyat2fqpma7zdvz django_test]# whereis python
python: /usr/bin/python /usr/bin/python.config /usr/bin/python2.7 /usr/bin/python.bak /usr/bin/python2.7-config /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 /usr/share/man/man1/python.1.gz
得到python
的位置在 /usr/bin
目录
[root@iz2ze3g6pyat2fqpma7zdvz ~]# cd /usr/bin
[root@iz2ze3g6pyat2fqpma7zdvz bin]# ll python*
lrwxrwxrwx 1 root root 32 Dec 22 19:40 python -> /usr/local/python3/bin/python3.9
lrwxrwxrwx 1 root root 9 Dec 22 18:30 python2 -> python2.7
-rwxr-xr-x 1 root root 7144 Nov 17 06:23 python2.7
-rwxr-xr-x 1 root root 1835 Nov 17 06:23 python2.7-config
lrwxrwxrwx 1 root root 16 Dec 22 18:30 python2-config -> python2.7-config
lrwxrwxrwx 1 root root 32 Dec 23 18:43 python3 -> /usr/local/python3/bin/python3.9
lrwxrwxrwx 1 root root 7 Dec 22 18:30 python.bak -> python2
lrwxrwxrwx 1 root root 39 Dec 22 19:36 python.config -> /usr/local/python3/bin/python3.9-config
lrwxrwxrwx 1 root root 14 Dec 22 18:30 python-config.bak -> python2-config
python_django:
total 20
drwxr-xr-x 2 root root 4096 Dec 23 15:33 bin
drwxr-xr-x 2 root root 4096 Dec 23 15:33 include
drwxr-xr-x 3 root root 4096 Dec 23 15:33 lib
drwxr-xr-x 3 root root 4096 Dec 23 15:33 lib64
-rw-r--r-- 1 root root 201 Dec 23 15:33 pyvenv.cfg
进入/usr/bin
目录使用ll python*
我们可以得到python
的各种版本
->
是软连接,意味这个文件是后面文件的软链接,这个python
也可以看成命令
2 python3
的依赖
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
3 安装pip
centos7没有安装pip
#运行这个命令添加epel扩展源
yum -y install epel-release
#安装pip
yum install python-pip
4 用pip
安装wget
pip install wget
5 用wget
下载python3
在官网找到想要的版本链接
wget https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tar.xz
6 编译python3
源码包
#解压
xz -d Python-3.6.4.tar.xz
tar -xf Python-3.6.4.tar
#进入解压后的目录,依次执行下面命令进行手动编译
cd Python-3.6.4
./configure prefix=/usr/local/python3
make && make install
# 如果出现can't decompress data; zlib not available这个错误,则需要安装相关库
#安装依赖zlib、zlib-devel
yum install zlib zlib
yum install zlib zlib-devel
7 添加软连接
#将原来的链接备份
mv /usr/bin/python /usr/bin/python.bak
#添加python3的软链接
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python
#测试是否安装成功了
python -V
如果本身没有python3的软链接,可以再
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
8 更改yum
配置
因为yum
使用python2
,所以需要更改一个yum
的配置
vi /usr/bin/yum
把#! /usr/bin/python修改为#! /usr/bin/python2
vi /usr/libexec/urlgrabber-ext-down
把#! /usr/bin/python 修改为#! /usr/bin/python2
virtualenv
和virtualenvwrapper
python
虚拟环境
简单点说python
的虚拟环境就是给每个项目一个独立的python
配置,各个项目之间的配置不影响,
1 下载virtualenv
pip install virtualenv
2 创建新项目
virtualenv env
3 使用虚拟环境
source env/bin/activate
4 退出虚拟环境
deactivate
5 virtualenvwrapper
安装
virtualenvwrapper
可以对虚拟环境进行集中管理
pip install virtualenvwrapper
6 添加~/.bashrc
在~/.bashrc
添加
export WORKON_HOME=~/Envs
source /usr/local/bin/virtualenvwrapper.sh
读入配置文件
source ~/.bashrc #读入配置文件,立即生效
7 virtualenvwrapper
基本使用
- 创建虚拟环境
mkvirtualenv
mkvirtualenv venv
这样会在WORKON_HOME
变量指定的目录下新建名为venv
的虚拟环境。
指定python版本
--python
指定python
解释器
mkvirtualenv --python=/usr/local/python3.5.3/bin/python venv
- 查看当前虚拟环境目录
workon
- 切换到虚拟环境
workon xxx
- 退出虚拟环境
deactivate
- 删除虚拟环境
rmvirtualenv xxx
8 出错处理
出现 ModuleNotFoundError: No module named '_ctypes'
- 安装
libffi-devel
yum install libffi-devel -y
- 重装
python
- 使用
make && make install
django
1 下载
使用pip install django
2 创建django项目
django-admin startproject xxx
3 启动django
python manage.py runserver 0.0.0.0:80
4 配置文件
进入setting.py文件
在allowHost中添加自己的ip
ALLOWED_HOSTS = [
'123.56.252.111',
'localhost',
'0.0.0.0:8000', '127.0.0.1'
]
这样在运行后就可以用http://123.56.252.111:8000/
来访问
5 报错处理
出现
django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17).
在官网找到想要版本的链接
使用
wget
下载
#链接最好重新获取,否则可能不是最新版本
wget https://www.sqlite.org/2019/sqlite-autoconf-3300100.tar.gz
- 解压安装
[root@localhost home]# tar zxvf sqlite-autoconf-3300100.tar.gz
[root@localhost home]# cd sqlite-autoconf-3300100/
[root@localhost sqlite-autoconf-3300100]# ./configure
[root@localhost sqlite-autoconf-3300100]# make & make install
- 查看版本
#检查新安装的sqlite3版本
[root@localhost home]# /usr/local/bin/sqlite3 --version
3.30.1 2019-10-10 20:19:45 18db032d058f1436ce3dea84081f4ee5a0f2259ad97301d43c426bc7f3df1b0b
#检查旧的sqlite3版本
[root@localhost home]# /usr/bin/sqlite3 --version
3.7.17 2013-05-20 00:56:22 118a3b35693b134d56ebd780123b7fd6f1497668
# 把旧的sqlite3改个名字
[root@localhost home]# mv /usr/bin/sqlite3 /usr/bin/sqlite3_old
# 设置软链接
[root@localhost home]# ln -s /usr/local/bin/sqlite3 /usr/bin/sqlite3
#查看sqlite3版本
[root@localhost home]# sqlite3 --version
3.30.1 2019-10-10 20:19:45 18db032d058f1436ce3dea84081f4ee5a0f2259ad97301d43c426bc7f3df1b0b
- 添加到
bashrc
文件
在~/.bashrc
中添加
export LD_LIBRARY_PATH="/usr/local/lib"
- 检查
sqlite3
版本
[root@localhost home]# python3
Python 3.6.5 (default, Jul 9 2019, 20:03:55)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sqlite3
>>> sqlite3.sqlite_version
'3.30.1'
>>> exit()
[root@localhost home]#
nginx
1 安装
添加Nginx 存储库
sudo yum -y install epel-release
安装nginx
sudo yum -y install nginx
2 启动
启动nginx
sudo systemctl start nginx
3 防火墙
允许http通信
sudo firewall-cmd --permanent --zone=public --add-service=http
允许https通信
sudo firewall-cmd --permanent --zone=public --add-service=https
重启防火墙
sudo firewall-cmd --reload
4 测试
在浏览器输入地址
5 卸载
停止nginx
service nginx stop
// centos 7
sysyemcyl stop nginx
删除自启动
chkconfig nginx off
从源头删除nginx
rm -rf /usr/sbin/nginx
rm -rf /etc/nginx
rm -rf /etc/init.d/nginx
使用yum清理
yum remove nginx
修改root@
后面的名字
centos7
hostnamectl set-hostname dhl #
hostname #查看
vim /etc/hosts # 编辑hosts文件,给127.0.0.1添加hostname
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 dhl
重启shell生效