centos7语言配置问题
登录服务器,注意观察是否出现以下警告提示
warning: setlocale: LC_CTYPE: cannot change locale (en_US.utf8): No such file or directory
如果有提示说明系统语言配置有问题,我们可以编辑/etc/environment文件进行语言设置,具体设置如下:
1 | vi /etc/environment |
最后执行 source /etc/environment 使设置生效
如果不进行该设置后面在运行项目的时候会出现语言设置错误
1. python3.6.5 安装
1 环境准备:
1 | yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc |
2 下载python3安装包并解压
1 | wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz |
3 把Python3.6安装到 /usr/local目录,使用make altinstall,如果使用make install,在系统中将会有两个不同版本的Python在/usr/bin/目录中。这将会导致很多问题
1 | 1. 进入解压目录下 |
4 建立python3和pip3软连接
1 | ln -s /xxx/Python-3.6.5/bin/python3.6 /usr/bin/python3 |
2. Virtualenv 环境搭建
1. 执行安装 Virtualenv
1 | pip3 install virtualenv |
2. 在项目中安装 Virtualenv环境
执行以下命令创建Virtualenv环境
1 | virtualenv venv |
如果出现以下错误:
virtualenv command not found
可用下面方法解决:
1 | 1: 先找到virtualenv.py的位置(find . -name 'virtualenv.py') |
3. 启动 Virtualenv
启动命令:
1 | source venv/bin/activate |
退出命令:
1 | deactivate |
3.1 安装依赖包
下面使用pip和pip3效果是一样的,都是运行在python3环境下
1 | pip install -r requirements.txt |
此处不能使用sudo命令,使用sudo是安装系统环境下
3.2 配置并启动web服务器
很重要:设置 FLASK_APP 环境变量,如果没设置后面执行flask命令会抛出各种错误提示
1 | export FLASK_APP=flasky.py |
4. 数据库操作
该操作在FLASK_APP 环境变量设置完成后执行
1 | 1: 生成migriation文件目录(执行一次) |
如果出现以下错误:
ModuleNotFoundError: No module named ‘MySQLdb’
由于 MySQL-python 不支持 Python 3(MySQL-3.23 through 5.5 and Python-2.4 through 2.7 are currently supported)因此我们可以使用 PyMySQL 来代替
解决方法:
1 | 1. 检查是否安装 PyMySQL,如果没有安装执行下面命令安装: |