Linux04 /创建虚拟环境、在linux环境运行Python项目
Linux04 /创建虚拟环境、在linux环境运行Python项目
1. 大体流程
windows上的代码,放到linux上,运行要做哪些事
安装python3
安装crm的模块
上传crm代码
mysql(mariadb)
本地开发环境
安装python3
安装crm的模块
上传crm代码
mysql(mariadb)
预生产服务器环境
安装python3
安装crm的模块
上传crm代码
mysql(mariadb)
正式线上服务器环境
安装python3
安装crm的模块
上传crm代码
mysql(mariadb)
总结:
虚拟机的模板克隆解决环境问题
docker镜像去解决环境部署问题 在windows本地打包一个镜像
2. linux环境安装python3
解决系统的基础开发工具,防止python3编译过程出错
1、安装依赖:
yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y
2、确保机器可以上网,在线下载软件包
ip addr show # 测试是否可以上网
3、配置好阿里云的yum仓库,yum源,加速下载,提供大量的软件包
配置yum源的过程: centos的默认yum仓库路径是 /etc/yum.repos.d ,在这目录下,第一层文件夹中的repo文件会识别为仓库文件 1.获取阿里云的yum源
打开网址https://opsx.alibaba.com/mirror 2.找到第一个仓库
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 3.下载第二个仓库
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo 4.生成yum缓存,加速以后下载
yum makecache
获取python3的源代码,去官网下载即可
wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz # wget 在线下载一个资源
解压缩源代码包,进入源码包
xz -d Python-3.6.7.tar.xz # 去掉.xz压缩后缀
tar -xvf Python-3.6.7.tar # 解压缩
cd Python-3.6.7 # 进入源码包
编译三部曲,几乎所有的linux软件,编译安装都是这个步骤,nginx,redis都是这样
第一曲:指定安装路径
./configure --prefix=/opt/python367/
# 执行configure脚本文件 ,指定软件的安装路径
第二曲:开始编译
make
# 指定make指令 ,针对当前文件夹下的makefile开始读取
第三曲:开始安装
make install
# 编译安装,生成最终的可以使用的python3.6.7的解释器
配置PATH环境变量,让命令可以快捷执行
1、取出当前PATH的值
echo $PATH # 代码示例:
[root@s24_linux bin]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
2、修改PATH的值,永久修改,写入到/etc/profile ,每次用户登录都加载这个文件,因此变量永久生效
vim /etc/profile # 在最底行,写入如下信息
PATH="/opt/python367/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin" # 把python3的路径,放到最前面,因为虚拟环境的创建的时候,可能会有坑,PATH的加载顺序是自上而下的
3、读取/etc/profile -- 让其永久生效
source /etc/profile # 用source命令,去读这个文件 内容,让变量生效 # 或者 退出会话,重新登录linux,即可加载新的PATH
3. 创建虚拟环境
1. 虚拟环境
- python虚拟环境就是管理python解释器,python的虚拟环境,其实就是在机器上,方便的创建出多个解释器,每个解释器运行一个项目,互相之间不受影响
2. virtualenv
virtualenv工具,可以方便的创建,使用,删除也很方便
low版虚拟环境管理工具:virtualenv
1、virtualenv安装
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv
2、创建虚拟环境 venv ,用于运行django1
virtualenv --no-site-packages --python=python3 venv1 参数说明:
--no-site-packages # 这个参数 ,创建虚拟环境是干净隔离的
--python=python3 # 这个--python参数,是指定解释器的版本
venv1 是虚拟环境的名字,文件夹的名
3、激活虚拟环境,需要执行如下命令
source /opt/venv1/bin/activate # 这是激活虚拟环境的命令 deactivate # 退出虚拟环境
4、在venv1这个虚拟环境下,运行一个django1版本
# 得先安装django模块
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple django==1.11.9
**高级版虚拟环境工具:virtualenvwrapper ,以后用这个就行 *****
1、virtualenvwrapper 安装
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenvwrapper
2、配置系统的全局变量,加载virtualenvwrapper这个工具
vim /etc/profile 写入如下内容后先刷新一个配置文件source /etc/profile
WORKON_HOME=~/Envs # 设置virtualenv的统一管理目录
VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' # 添加virtualenvwrapper的参数,生成干净隔绝的环境
VIRTUALENVWRAPPER_PYTHON=/opt/python367/bin/python3 # 指定python解释器
source /opt/python367/bin/virtualenvwrapper.sh # 执行virtualenvwrapper安装脚本
3、virtualenvwrapper 常用操作
mkvirtualenv venv1 # 创建虚拟环境venv1
mkvirtualenv venv2 # 创建虚拟环境venv2
mkvirtualenv venv3 # 创建虚拟环境venv3
workon # 激活虚拟环境,支持tab键补全 cdvirtualenv # 进入虚拟环境家目录
lsvirtualenv # 列出当前所有的虚拟环境
lssitepackages # 列出当前解释器,所有的模块文件夹
cdsitepackages # 进入当前解释器的模块文件夹
4. 打包源环境模块
打包源环境模块简述:
保证开发环境和生产环境的模块一致性的方法
保证windows的模块和linux的模块的一致性
导出前环境所有的模块
pip3 freeze > requirements.txt # 这是导出解释器所有模块信息的命令
安装以上文件中所有的模块
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
5. 解决数据库问题:安装/启动mariadb
安装mariadb /三种方式
1、rpm:rpm手动安装,很恶心,解决依赖关系 2、源代码编译安装:指定安装路径,可以自由选择最新的软件版本,可以扩展第三方高级的功能 3、yum安装方便,自动解决依赖(安装路径默认,软件仓库版本可能过低)
yum install mariadb-server(服务端的软件名) mariadb(客户端软件名) -y
启动mariadb数据库,通过yum安装的软件,都可以通过systemctl 去管理
systemctl start/stop/restart mariadb
mysql 的root远程访问权限
grant all privileges on *.* to root@'%' identified by '';
flush privileges;
如果远程还是访问不到数据库的话,修改配置文件 vim /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
bind-address = 0.0.0.0 # 确保不是本地回环地址
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
bind-address = 0.0.0.0 !includedir /etc/my.cnf.d
6. 上传项目代码到linux
将项目传到linux环境,这里以crm为例
1.可以用xftp用xftp工具更省心
2.压缩文件后,用lrzsz,lrzsz是windows提供的工具,和xshell结合,只能是在windows使用
3.如果是mac,就用scp命令
解决crm运行的模块依赖/老土方法,用模块打包方式导入
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple django==1.11.9
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pymysql
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple django-multiselectfield
导出windows的crm数据,传递给linux进行导入
# 这给命令是发给操作系统的,把windows 中的mysql数据库导出来是一个crm.sql文件 mysqldump -u root -p crm > crm.sql # 指定数据库导出的命令
传输crm.sql文件到linux后,进行数据导入
方式1: 命令形式导入
# 1、得先创建好数据库 ,进入mysql后再敲打,它是sql语句
create database crm; # 2、指定数据库导入数据
mysql -uroot -p crm < crm.sql # 在linux中敲打,他是linux的命令
方式2:交互式终端的导入数据
# 1、得先创建好数据库
create database crm; # 2、导入数据
use crm ;
source /opt/crm.sql ;
修改django的配置文件settings.py
1.确保mariadb数据库的密码和settings配置文件密码一致
2.修改ALLOW_HOSTS为:ALLOW_HOSTS=['*']
启动crm项目
python3 manage.py runserver 0.0.0.0:8000
Linux04 /创建虚拟环境、在linux环境运行Python项目的更多相关文章
- linux环境运行java项目并有外部引用jar
eclipse目录结构: linux目录结构: lib目录结构: 其中除了IMT_ENCODING_DSP.jar其余的都是外部引用的jar IMT_ENCODING_DSP.jar是java项目打包 ...
- Linux环境下Python的安装过程
Linux环境下Python的安装过程 前言 一般情况下,Linux都会预装 Python了,但是这个预装的Python版本一般都非常低,很多 Python的新特性都没有,必须重新安装新一点的版本,从 ...
- linux环境下 python环境import找不到自定义的模块
linux环境下 python环境import找不到自定义的模块 问题现象: Linux环境中自定义的模块swport,import swport 出错.swport模块在/root/sw/目录下. ...
- 发布项目到 Linux 上运行 Core 项目
发布项目到 Linux 上运行 Core 项目 目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 ASP.Net Core 给我们带来的最大的亮点就是跨平台,我在我电脑(win ...
- linux环境安装python
linux环境下安装python3,一步一步来吧! 安装python3 安装readline-devel依赖 ,用于解决python3安装完成后,退格和方向键乱码问题 yum install read ...
- 服务器(Linux)上运行python总结
跑实验换了几次服务器了,每次遇到相似问题都要重新百度,而且每次百度搜索出的顺序都不一样,又得重新找半天,这次把遇到的问题都总结一下. 1.准备 PuTTY和FileZilla FileZilla使用F ...
- 利用virtualenvwrapper创建虚拟环境出现错误“/usr/bin/python: No module named virtualenvwrapper”
Linux:CentOS7 python: 系统默认python版本2.7,利用python启动 自己安装python版本3.8,利用python3启动 问题描述: 在上述环境中利用virtualen ...
- jmeter(二十五)linux环境运行jmeter并生成报告
jmeter是一个java开发的利用多线程原理来模拟并发进行性能测试的工具,一般来说,GUI模式只用于创建脚本以及用来debug,执行测试时建议使用非GUI模式运行. 这篇博客,介绍下在linux环境 ...
- Python_01 在DOS环境运行python程序
>怎么在DOS环境运行一个python程序 >>在文本编辑器中编辑程序,最后保存成 文件名.py 的格式 >>在DOS界面下找到源程序所在的路径,然后用 pyth ...
随机推荐
- Scrum Master教你四招,瓦解团队内部刺头
摘要:<Scrum精髓>一书中将Scrum Master的职责总结为六类:敏捷教练,服务型领导,“保护伞”,“清道夫”,过程权威,“变革代言人”.作为“保护伞“,Scrum Master应 ...
- vim中的替换操作
在vim中 :s(substitute)命令用于查找并替换字符串.使用方法如下: :s/<find-this>/<replace-with-this>/<flags> ...
- ABP (.Net Core 3.1版本) 使用MySQL数据库迁移启动模板项目(1)
最近要搭建新项目,因为还没有用过.net core,所以想用.net core的环境搭建新项目,因为不熟悉.net core的架构,所以就下载了abp项目先了解一下. 因为自己太菜了,下载了模板项目, ...
- Spring Boot项目使用Swagger2文档教程
[本文版权归微信公众号"代码艺术"(ID:onblog)所有,若是转载请务必保留本段原创声明,违者必究.若是文章有不足之处,欢迎关注微信公众号私信与我进行交流!] 前言 Sprin ...
- 3、尚硅谷_SSM高级整合_创建Maven项目.avi
Maven中dependencyManagement作用说明 在Maven多模块的时候,管理依赖关系是非常重要的,各种依赖包冲突,查询问题起来非常复杂,于是就用到了<dependencyMana ...
- skywalking 5.X 分布式链路跟踪 使用笔记
skywalking 特点 性能好,针对单实例5000tps的应用,在全量采集的情况下,只增加 10% 的CPU开销.详细评测见<skywalking agent performance tes ...
- linux环境搭建单机kafka
准备工作: jdk-8u191-linux-x64.rpm | zookeeper-3.4.6.tar.gz | kafka_2.11-2.2.0.tgz 对应的地址 zookeeper: ...
- Python之浅谈深浅拷贝
目录 深浅拷贝 拷贝 浅拷贝 深拷贝 深浅拷贝 拷贝 s=['tim','age'] s2=s #这里的s2列表指向与s相同的id 当s2为s的拷贝对象时,s内的可变类型变化,s2变化;s内的不可变类 ...
- Maven中央仓库正式成为Oracle官方JDBC驱动程序组件分发中心
1. 前言 相信参与使用Oracle数据库进行项目开发.运维的同学常常被Oracle JDBC驱动的Maven依赖折磨.现在这一情况在今年二月份得到了改变,甲骨文这个老顽固终于开窍了. 一位甲骨文的工 ...
- 浅谈bfs
广搜(bfs) 定义 广度优先算法,简称BFS.是一种图形搜索演算法,简单的说,BFS是从根节点开始,沿着树的宽度遍历树的节点,如果发现目标,终止. 与dfs的相似之处与不同 结合深搜理解 相同点:都 ...