部署Python应用
安装Python 3.7.5
CentOS默认安装的是2.7.5版本的python
[root@iZuf6e3zah39uzoj5pg1myZ ~]# python -V
Python 2.7.5
更新成阿里云yum源
cd /etc/yum.repos.d wget http://mirrors.aliyun.com/repo/Centos-7.repo下载阿里云的资源文件 mv CentOS-Base.repo CentOS-Base.repo.bak 修改原有的源备份 mv Centos-7.repo CentOS-Base.repo 把下载的文件重命名 yum clean all yum makecache yum update
安装一些依赖(不安装有几率报错)
yum -y install zlib-devel bzip2-devel openssl-devel openssl-static ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel lzma gcc yum -y groupinstall "Development tools"
下载包
wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz
解压
tar -zvxf Python-3.8.5.tgz cd Python-3.8.5
安装到指定目录
./configure --prefix=/usr/local/sbin/python-3.8.5 make && make install Looking in links: /tmp/tmpf2s9baqm
Processing /tmp/tmpf2s9baqm/setuptools-47.1.0-py3-none-any.whl
Processing /tmp/tmpf2s9baqm/pip-20.1.1-py2.py3-none-any.whl
Installing collected packages: setuptools, pip
//需要配置python和pip的软链接
WARNING: The script easy_install-3.8 is installed in '/usr/local/sbin/python-3.8.5/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The scripts pip3 and pip3.8 are installed in '/usr/local/sbin/python-3.8.5/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Successfully installed pip-20.1.1 setuptools-47.1.0修改软链接
[root@iZuf6e3zah39uzoj5pg1myZ bin]# which python
/usr/bin/python rm -rf /usr/bin/python [root@iZuf6e3zah39uzoj5pg1myZ ~]# ln -sv /usr/local/sbin/python-3.8.5/bin/python3.8 /usr/bin/python
‘/usr/bin/python’ -> ‘/usr/local/sbin/python-3.8.5/bin/python3.8’ [root@iZuf6e3zah39uzoj5pg1myZ ~]# python -V
Python 3.8.5 [root@iZuf6e3zah39uzoj5pg1myZ ~]# which pip
/usr/bin/pip [root@iZuf6e3zah39uzoj5pg1myZ bin]# ln -s /usr/local/sbin/python-3.8.5/bin/pip3.8 /usr/bin/pip
ln: failed to create symbolic link ‘/usr/bin/pip’: File exists
[root@iZuf6e3zah39uzoj5pg1myZ bin]# rm -rf /usr/bin/pip
[root@iZuf6e3zah39uzoj5pg1myZ bin]# ln -s /usr/local/sbin/python-3.8.5/bin/pip3.8 /usr/bin/pip
[root@iZuf6e3zah39uzoj5pg1myZ bin]# pip -V
pip 20.1.1 from /usr/local/sbin/python-3.8.5/lib/python3.8/site-packages/pip (python 3.8)
安装完python导致yum命令无法执行的问题
vi /usr/bin/yum 把#! /usr/bin/python修改为#! /usr/bin/python2 vi /usr/libexec/urlgrabber-ext-down #! /usr/bin/python 也要修改为#! /usr/bin/python2
部署文件
关于依赖安装的问题,使用批量安装的方式生成依赖清单,多了很多奇奇怪怪的东西,就直接手动使用pip安装了
另外,linux系统无法识别模块的问题通过:
# Linux下无法识别模块
import sys
sys.path.append("/root/BlackFish") 代码结构:
BlackFish
-blackfish
-common
Blog.py
-itplatform
Cnbloggs.py
Csdn.py
main.py
运行main.py
nohup python -u main.py & -u:不通过缓存,直接打印(没有延迟)
部署Python应用的更多相关文章
- CentOS 5系统安装Django、Apache 、mod_wsgi部署Python环境教程
Django,是一款针对Python环境的WEB开发框架,能够帮助我们构架快捷.简单的WEB框架设置,Django框架非常适合开发内容应用环境,所以在本文中,麦子将整理基于Centos系统部署安装Dj ...
- nginx上部署python web
nginx上部署python web http://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html
- ubuntu下在apache部署python站点
ubuntu下在apache部署python站点 我的是ubuntu14 32为的虚拟机,默认安装的python为3.4 环境:apache + mysql + django + python3 软件 ...
- 使用wfastcgi在IIS上部署Python Flask应用
本文介绍了如何在Windows上部署Python Flask应用,相关环境如下: 操作系统:windows 7 Python:3.4 WFastCGI: 2.2 应用所用到的包版本如下: Flask= ...
- 最简单的方式离线部署Python依赖包
最简单的方式离线部署Python依赖包 SHOW ME CODE! 打包: $ tempdir=$(mktemp -d /tmp/wheelhouse-XXXXX) $ pip wheel -r re ...
- nginx tomcat 自动部署python脚本【转】
#!/usr/bin/env python #--coding:utf8-- import sys,subprocess,os,datetime,paramiko,re local_path='/ho ...
- 如何在Linux环境下通过uwgsi部署Python服务
部署python程序时常常会遇到同一台服务器上2.x和3.x共存的情况,不同应用需要使用不用的python版本,使用virtualenv创建虚拟环境能很好地解决这一问题. 首先,需要在服务器上安装vi ...
- python-pycharm中使用anaconda部署python环境
pycharm中使用anaconda部署python环境 今天来说一下python中一个管理包很好用的工具anaconda,可以轻松实现python中各种包的管理.相信大家都会有这种体验,在pycha ...
- 一种部署 Python 代码的新方法
在Nylas,我们喜欢使用Python进行开发.它的语法简单并富有表现力,拥有大量可用的开源模块和框架,而且这个社区既受欢迎又有多样性.我们的后台是纯用 Python 写的,团队也经常在 PyCon ...
- centos部署Python环境
在centos上部署Python之前,我们需要先配置开发环境. 1.安装Python依赖的开发工具包 gcc自然少不了,可以直接用“Development Tools”: yum grouplist ...
随机推荐
- VSCode下,项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
vscode下webpack错误:无法将“webpack”项识别为 cmdlet.函数.脚本文件或可运行程序的名称.请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次. 解决方法: 1.因为 ...
- MYSQL 之 JDBC(十): JDBC的元数据
可以从Connection对象中获得有关数据库管理系统的各种信息 获取这些信息的方法都是在DatabaseMetaData类中. DatabaseMetaData:描述数据库的元数据对象 Result ...
- java 面向对象(四十一):反射(五)反射应用二:获取运行时类的完整结构
我们可以通过反射,获取对应的运行时类中所有的属性.方法.构造器.父类.接口.父类的泛型.包.注解.异常等....典型代码: @Test public void test1(){ Class clazz ...
- java 面向对象(二十):类的结构:代码块
类的成员之四:代码块(初始化块)(重要性较属性.方法.构造器差一些)1.代码块的作用:用来初始化类.对象的信息2.分类:代码块要是使用修饰符,只能使用static分类:静态代码块 vs 非静态代码块3 ...
- bzoj2295【POJ Challenge】我爱你啊*
bzoj2295[POJ Challenge]我爱你啊 题意: 求一个字符串中有多少个"luvletter"(不包括引号).字符串长度≤100000. 题解: 连kmp都不用…… ...
- JVM系列6-GC算法
一.如何判定垃圾? 1.1.Reference Count引用计数法:引用计数count=0的对象 1.2.Root Seaching根可达法:从root开始不可达的对象 常见的可做GC roots的 ...
- 解决使用resin服务器Unsupported major.minor version 51.0错误
是因为jdk版本不对,更换成需要的版本
- Go Pentester - HTTP CLIENTS(2)
Building an HTTP Client That Interacts with Shodan Shadon(URL:https://www.shodan.io/) is the world' ...
- echarts 实战 : 恼人的间隔问题
使用 echarts 的时候,可能我们需要这个图表的间隔是固定的.比如 3个 4个 5个. (注意计算间隔数量的时候是不算 x轴 本身的.) 这个问题看似简单,其实有点麻烦. yAxis.splitN ...
- iview实战 : 全屏去头去尾的弹窗
<template> <Button @click="modal3 = true" >No title bar</Button> <Mod ...