Linux下Python开发环境搭建
Linux下Python开发环境搭建
yum工具
- Linux安装软件包
- rpm手动安装
- yum工具自动化安装(等同于 pip)
yum源
yum源仓库的地址 在/etc/yum.repos.d/,并且只能读出第一层的repo文件
yum仓库的文件都是以.repo结尾的
下载阿里云的.repo仓库文件 ,放到/etc/yum.repos.d/
- 备份原本的仓库文件
- cd /etc/yum.repos.d/
- mkdir allbak
- mv ./* allbak
- 下载第一个阿里云仓库文件
- wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
- -O 参数 ,指定一个下载地址,且改名
- wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
- 配置第二个仓库文件 epel 额外仓库(redis,nginx,mongo,ipython)
- wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
- 清空原本yum缓存
- yum clean all
- 生成新的阿里云的yum缓存,加速下载预热数据
- yum makecache
用yum安装nginx软件
- yum install nginx - #安装nginx
- systemctl start/stop/restaer nginx #系统服务管理命令 ,管理nginx服务的启停
- 查看nginx启动后端口 netstat -tunlp | grep 80 #查看端口,过滤80端口的信息
- .启动了nginx之后,关闭系统的防火墙
- iptables -F #清空防火墙规则
- 参考
<https://blog.csdn.net/lamp_yang_3533/article/details/76644105>
- 在windows中访问linux的80端口应用
- 浏览器 输入 ip:80 查看nginx页面
linux环境编译安装python3
- 源代码编译安装python3
- 下载python3的源代码
- cd /opt #进入这个目录,下载,这是一个约定,规定
- wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
- 下载python3的源代码
- 下载编译安装python的依赖软件包,只需要执行即可
- 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
- 解压缩python3的源代码压缩文件
- cd /opt/ 进入存在这个文件的目录
- tar -xf Python-3.6.2.tgz #产生一个源码包文件夹 Python-3.6.2
- cd Python-3.6.2 # 进入源代码目录下,准备开始编译安装
- 编译安装三部曲
- 第一曲:
- configure 这个脚本文件,只是为了释放makefile,以及用于指定python3安装到哪里
- 执行这个命令之前,必须保证第二步的yum安装模块正确安装完毕
- ./configure --prefix=/opt/python36/
- --prefix=/opt/python36/ 这个参数用于指定python安装的路径
- configure 这个脚本文件,只是为了释放makefile,以及用于指定python3安装到哪里
- 第二曲:
- 执行make ,开始编译 python3.6的源代码
- make
- 第三曲:
- make install #生成 /opt/python36/
- 第一曲:
- .此时python3.6编译完成,文件夹/opt/python36/
- 此时配置linux的path环境变量,让python3可以直接使用
- vim /etc/profile #打开这个全局变量文件,写入如下代码,进入最低行
- PATH="/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
- 退出会话,重新加载全局变量 ,加载/etc/profile
- 此时已经可以使用python3了
- which python3 确认是否正确安装
- 不要将系统默认的python 改成python3 这是一个大坑
- 因为linux有很多工具,默认是用的是python2,例如yum
- 在linux下安装django程序
- pip3 install -i https://pypi.douban.com/simple django==1.11.16
- 使用django的项目命令创建 mysite
- django-admin startproject mysite #创建项目
- 修改mysite的settings.py
- ALLOW_HOSTS=[]
- 创建django的app
- django-admin startapp app01
- 编写一个视图函数 XX ,返回XX
tip
-
python3的模块管理工具是 pip3 install flask
- pip3 install flask
-
python2的是 easy_install
- easy_install flask #安装flask模块
-
logout退出会话
- ctrl + shift + r 快捷登录
Linux下pyhton虚拟环境安装
virtualenv 是python解释器的分身
它是基于物理解释器,进行一个解释器分身,这个分身,可以用于运行各种python开发环境,并且创建简单,删除销毁也简单,解决环境依赖灾难。
- 安装virtualenv ,
pip3 install virtualenv
- 通过virtualenv创建虚拟环境
- cd /opt/allenv #进入同一管理目录
- virtualenv --no-site-packages --python=python3 venv1
- --no-site-packages 创建一个干净隔离的python环境
- --python=python3 基于python3创建虚拟环境
- venv1 虚拟环境文件夹的名字 ,自定义
- 激活虚拟环境
- cd /opt/allenv/
- source /opt/allenv/venv1/bin/activate # 通过source命令,读取激活脚本,激活虚拟环境
- 激活虚拟环境后,检查以下几个步骤,是否正确激活
- -命令提示符的变化 (
- venv1) [root@s16ds bin]#
- -环境变量的变化,这就是虚拟环境的原理,修改path
- echo $PATH
- -检查python3,pip3是否来自于虚拟环境
- which python3
- which pip3
- -检查虚拟环境是否干净隔离 pip3 list
- -命令提示符的变化 (
- -退出虚拟环境的命令
- deactivate
- 删除虚拟环境
- 如果要删除虚拟环境,只需退出虚拟环境后,删除对应的虚拟环境目录即可。不影响其他环境。
- 在虚拟环境地下安装django
- 练习,分别安装2个虚拟环境,venv1 venv2,分别运行django1.11.15 和django2.0 ,启动
确保开发环境的一致性
1.假设我们在本地开发环境,准备好了项目+依赖包环境
2.现在需要将项目上传至服务器,上线发布
3.那么就要保证服务器的python环境一致性
- 在本地通过命令,导出解释器的模块
- pip3 freeze > requirements.txt
- 将这个requirements.txt 文件传输到linux服务器上,可以通过 lrzsz
- 在linux服务器当中,创建一个新的虚拟环境 venv3,安装这个文本,即可一次性解决所有模块问题
- pip3 install -r requirements.txt
虚拟环境之virtualenvwrapper
virtualenv 的一个最大的缺点就是:
每次开启虚拟环境之前要去虚拟环境所在目录下的 bin 目录下 source 一下 activate,这就需要我们记住每个虚拟环境所在的目录。
使用virtualenvwrapper
-
安装virtualenvwrapper
- pip3 install virtualenvwrapper
-
.配置virtualenvwrapper的环境变量,每次开机就启动
把下面两行代码添加到 ~/.bashrc文件中 打开文件 vim ~/.bashrc 写入以下两行代码 export WORKON_HOME=~/Envs #设置virtualenv的统一管理目录 export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages' #添加virtualenvwrapper的参数,生成干净隔绝的环境 export VIRTUALENVWRAPPER_PYTHON=/opt/python36/bin/python3 #指定python解释器 source /opt/python36/bin/virtualenvwrapper.sh #执行virtualenvwrapper安装脚本 读取文件,使得生效,此时已经可以使用virtalenvwrapper source ~/.bashrc
-
退出当前会话,重新登录linux
- logout
-
重新登录,查看是否可以使用virtualenvwrapper
-
基本使用virtualenvwrapper
-
1.创建新的虚拟环境 mkvirtualenv django115 mkvirtualenv django2 2.切换不同的虚拟环境 workon django2 workon django115 3.退出虚拟环境 deactivate 4.删除虚拟环境,需要先退出虚拟环境 rmvirtualenv django115 5.进入虚拟环境的家目录 cdsitepackages 6.列举所有的环境 lsvirtualenv
-