导航:首页 > 编程语言 > Python怎么部署

Python怎么部署

发布时间:2022-05-22 06:21:47

python运行环境怎么部署

Python是解释型语言,不用编译,安装python解释器就可以了。

❷ python项目 引用的包被修改了源码,怎么方便部署

python项目都建议使用虚拟环境,就是使用virtual创建虚拟环境目录,然后部署的时候整个虚拟环境都部署到生产环境,这样源码包修改都是对虚拟环境的修改,直接使用git部署,或者间接使用jenkins部署都行。

❸ 如何部署python3 的应用

mod_python,这是apache内置的模块,很严重的依赖于mod_python编译使用的python版本,和apache配套使用,不推荐

cgi,这个太old,不推荐,而且nginx不支持cgi方式,只能用lighttpd或者apache

fastcgi ,这个是目前流行最广的做法,通过flup模块来支持的,在nginx里对应的配置指令是 fastcgi_pass

spawn-fcgi,这个是fastcgi多进程管理程序,lighttpd安装包附带的,和
flup效果一样,区别是flup是
python代码级引入,spawn-fcgi是外部程序。spawn-fcgi用途很广,可以支持任意语言开发的代
码,php,python,perl,只要你代码实现了fastcgi接口,它都可以帮你管理你的进程

scgi,全名是Simple Common Gateway Interface,也是cgi的替代版本,scgi协议很简单,我觉得和fastcgi差不多,只是没有怎么推广开来,nginx对应的配置指令是scgi_pass,你想用就用,flup也支持。

http,nginx使用proxy_pass转发,这个要求后端appplication必须内置一个能处理高并发的http server,在python的web框架当中,只能选择tornado.

python程序员喜欢发明轮子,tornado除了是一个web framework之外,它还可以单独提供高性能http
server,所以,如果你采用其他python框架写代码,比如说bottle,也一样可以通过import
tornado 来启动一个高性能的http
server,同样的可以采用http协议和nginx一起来部署。扩展开来,python包里面能处理高并发的http
server还有很多,比如说gevent,也可以被其他框架引用来支持http方式部署。

现实当中,用java来做web程序,通常就用http和nginx配合,应用服务器选择tomcat或者jetty

uwsgi,包括4部分组成,

nginx从0.8.4开始内置支持uwsgi协议,uwsgi协议非常简单,一个4个字节header+一个body,body可以是很多协议的
包,比如说http,cgi等(通过header里面字段标示),我曾经做个一个小规模的性能对比测试,结果表明,uwsgi和fastcgi相比,性能
没有太明显的优势,也可能是数据集较小的原因

uwsgi的特点在于自带的进程控制程序.它是用c语言编写,使用natvie函数,其实和spawn-fcgi/php-fpm类似。所以uwsgi可以支持多种应用框架,包括(python,lua,ruby,erlang,go)等等

uwsgi协议
web server内置支持协议模块
application服务器协议支持模块
进程控制程序

Gunicorn,和uwsgi类似的工具,从rails的部署工具(Unicorn)移植过来的。但是它使用的协议是 WSGI,全称是Python Web Server Gateway Interface ,这是python2.5时定义的官方标准(PEP 333 ),根红苗正,而且部署比较简单,http://gunicorn.org/ 上有详细教程

mod_wsgi,apache的一个mole,也是支持WSGI协议,https://code.google.com/p/modwsgi/

❹ 怎么将python部署在服务器上

使用pip或easy_install可以管理和安装python的package包,实际上它们都是从pypi服务器中搜索和下载package的。目前在pypi服务器上,有超过三万多个package,同时还允许我们将自己的代码也上传发布到服务器上。这样,世界上的所有人都能使用pip或

❺ 怎么把python部署到服务器

使用pip或easy_install可以管理和安装python的package包,实际上它们都是从pypi服务器中搜索和下载package的。目前在pypi服务器上,有超过三万多个package,同时还允许我们将自己的代码也上传发布到服务器上。这样,世界上的所有人都能使用pip或easy_install来下载使用我们的代码了。

具体步骤如下:

首先创建项目文件和setup文件。

目录文件结构如下:

project/
simpletest/
__init__.py
test.py
setup.py

假设项目文件只有一个simpletest包,里面有一个test.py文件。

创建的setup.py文件格式大致如下,其中,install_requires字段可以列出依赖的包信息,用户使用pip或easy_install安装时会自动下载依赖的包。详细的格式参考文档。

from setuptools import setup, find_packages

setup(
name = 'simpletest',
version = '0.0.1',
keywords = ('simple', 'test'),
description = 'just a simple test',
license = 'MIT License',
install_requires = ['simplejson>=1.1'],

author = 'yjx',
author_email = '[email protected]',

packages = find_packages(),
platforms = 'any',
)

然后将代码打包。

打包只需要执行python
setup.py xxx命令即可,其中xxx是打包格式的选项,如下:

# 以下所有生成文件将在当前路径下 dist 目录中
python setup.py bdist_egg # 生成easy_install支持的格式
python setup.py sdist # 生成pip支持的格式,下文以此为例

发布到pypi。

发布到pypi首先需要注册一个账号,然后进行如下两步:

注册package。输入python setup.py register。
上传文件。输入python setup.py sdist upload。

安装测试

上传成功后,就可以使用pip来下载安装了。

另外,pypi还有一个测试服务器,可以在这个测试服务器上做测试,测试的时候需要给命令指定额外的"-r"或"-i"选项,如python
setup.py register -r "",python
setup.py sdist upload -r "",pip
install -i "" simpletest。

发布到测试服务器的时候,建议在linux或cygwin中发布,如果是在windows中,参考文档,需要生成.pypirc文件

❻ python web 怎么部署

学过PHP的都了解,php的正式环境部署非常简单,改几个文件就OK,用FastCgi方式也是分分钟的事情。相比起来,Python在web应用上的部署就繁杂的多,主要是工具繁多,主流服务器支持不足,在了解Python的生产环境部署方式之前,先明确一些概念!很重要!

CGI:

CGI即通用网关接口(Common Gateway Interface),是外部应用程序(CGI程序)与Web服务器之间的接口标准,是在CGI程序和Web服务器之间传递信息的规程。CGI规范允许Web服务器执行外部程序,并将它们的输出发送给Web浏览器,CGI将Web的一组简单的静态超媒体文档变成一个完整的新的交互式媒体。通俗的讲CGI就像是一座桥,把网页和WEB服务器中的执行程序连接起来,它把HTML接收的指令传递给服务器的执行程序,再把服务器执行程序的结果返还给HTML页。CGI的跨平台性能极佳,几乎可以在任何操作系统上实现。

CGI方式在遇到连接请求(用户请求)先要创建cgi的子进程,激活一个CGI进程,然后处理请求,处理完后结束这个子进程。这就是fork-and-execute模式。所以用cgi方式的服务器有多少连接请求就会有多少cgi子进程,子进程反复加载是cgi性能低下的主要原因。当用户请求数量非常多时,会大量挤占系统的资源如内存,CPU时间等,造成效能低下。

CGI脚本工作流程:

❼ 如何部署python程序

简单的方法就是安装python环境,这样就可以直接使用python程序
不用安装的方法就是下载python的便携版,然后直接批处理python 脚本文件路径
还有一种就是使用pyinstaller之类的工具把python脚本打包成可执行文件。

❽ 如何快速地在windows上部署Python开发环境,包括各种常用的第三方库

1. 下载安装
建议下载zip压缩包,速度快。安装过程是傻瓜式的,跟平时安装其他软件没啥区别

2. 终端执行`conda list`可查看安装了哪些包

3. 获取免费的学术License(此步骤可跳过,如果你对高性能库没有需求的话)
申请地址:The Anaconda Python Distribution for Academics
使用`e`邮箱申请后,会在邮箱自动收到`license_academic`文件,将其放在`~/.continuum`目录下即可。

4. 安装额外的包(命令行环境下执行)
$ conda update conda
$ conda install accelerate
$ conda install iopro

下面就是spyder的主界面。变量查看窗口很好用。

5. 更换编辑器背景主题方案

6. 更换IPython 终端背景

7. 切割编辑器,多文本同时编辑

经过简单的配置之后,集成化开发环境变得非常的 Cool !

❾ python程序怎么部署到云服务器

你需要登录云服务器管理控制台,记录被我打马赛克位置的公网ip。

登录服务器
windows推荐下putty进行连接远程服务器,linux和macos不需要那么麻烦,ssl就行了。

putty
在下图的host name中输入你的公网IP,点击open。

putty界面
输入密码,看不见输入不要慌,linux就是这样保护安全的。

Paste_Image.png
登录成功界面见下图,然后想怎么操作就怎么操作了。

登陆成功界面
运行我的python文件
推荐FileZilla进行文件传输(不具体说明了),我上传了我的flask网站项目

我的项目
记住服务器同时有Python2和Python3,

python
运行的时候记得使用合适的版本,我用的是虚拟环境(自行网络如何创建虚拟环境)
在运行python之前先安装一个screen,他可以将一个程序在后台运行
sudo apt-get install screen

运行python文件,成功后按下ctrl+A和ctrl+D可以隐藏。隐藏后可以输入screen -r 恢复。

运行成功

❿ 如何部署python web程序

Python Web 程序的部署方案
综合而言, 高性能的Python web站点部署方式首推 nginx + uwsgi
apache + mod_wsgi 是简单稳定但性能一般的方式
API服务器 可以直接使用tornado或者gevent
mod_python
非常原始的cgi模式部署python已经没有什么好介绍了。对于不太追求性能的管理系统和网站来说,使用 Apache 部署是一个不错的选择。较早的时候,使用 mode_python 部署python的web应用十分流行,在Django 0.96 的时候官方文档甚至推荐这种方式。
它将Python解释器嵌入到Apache server,以提供一个访问Apache server内部的接口。mod_python 在现在看来性能是不佳的,每一个http请求 mod_python 都会由一个进程初始化python解释器、载入代码、执行、然后销毁进程。
mod_wsgi
如果非要用Apache来部署python应用,mod_wsgi是一个更好的选择。WSGI 全称是 Web Server Gateway Interface ,由 PEP-333 定义。 基本上所有的python web框架都实现了wsgi接口,用mod_wsgi 能部署任何实现了wsgi的框架。实际上,不需要任何框架也可以用mod_wsgi 部署python程序。使用mod_wsgi的daemon模式,python程序会常驻内存,不会有很大的初始化和销毁进程方面的开销,所以性能是好于mod_python的。综合来说,使用Apache部署python web程序,推荐使用mod_wsgi的daemon模式。
Fastcgi
先说观点:不建议用fastcgi的方式部署Python web。
前几年由于lighttpd风头正劲和豆瓣的成功案例,fastcgi是一种很流行的部署方式。fastcgi与具体语言无关,也与web服务器无关。是一种通用的部署方式。fastcgi是对于cgi的增强,CGI程序运行在独立的进程中,并对每个Web请求建立一个进程。面对大量请求,进程的大量建立和消亡使操作系统性能大大下降。
与为每个请求创建一个新的进程不同,FastCGI使用持续的进程来处理一连串的请求。这些进程由FastCGI服务器管理,而不是web服务器。 当进来一个请求时,web服务器把环境变量和这个页面请求通过一个socket比如FastCGI进程与web服务器都位于本地)或者一个TCP connection(FastCGI进程在远端的server farm)传递给FastCGI进程。
主流的web服务器,Apache,lighttpd,nginx 都支持fastcgi,在几年前,lighttpd的mod_fcgi模块性能强劲,lighttpd+fastcgi十分流行。无论是python,ruby还是php,都有大量的站点使用这种方式部署。由于nginx的崛起,现在很少有人使用lighttpd了。
fastcgi 并不是专门为python设计,并不是所有的python框架天然的支持fastcgi,通常需要flup这样的容器来配适。flup由python编写,和专门的c实现的wsgi容器比起来性能显得相当不堪。fastcgi的稳定性对于新兴的wsgi容器来说也有差距。无论从哪个方面来看,部署python web程序,fastcgi 都已经是过去式。
uwsgi
前几年nginx还未内置uwsgi模块的时候,部署uwsgi还是一件挺麻烦的事情。随着能够在nginx中直接使用uwsgi模块,uwsgi已经是最可靠,最方便的高性能python web程序的部署方式了。
在1U的四核XEON服务器上,一个简单的wsgi handler甚至能用AB压到8000以上的qps,这已经是完爆tornado,接近gevent的性能了。 同时,uwsgi的稳定性极好。之前我们有个每天500w-1000w动态请求的站点使用uwsgi部署非常稳定,在一个渣HP 1U 服务器上,基本不用管它。
上面提到的部署方式都是相对于web网站的方式,在移动互联网的时代,我们需要的是高性能的API服务,上面这些都是过时的东西。
tornado
tornado 号称高性能,如果拿他写网站,其实一般般,只不过跟uwsgi加一些简单框架差不多而已。它真正的作用,是用来写API服务器和长连接的服务器。
由于tornado能够直接处理http请求,很多人直接拿他来裸奔直接提供服务。这种方式是不可取的,单线程的tornado只能利用cpu的一个核心,并且一旦阻塞直接就废了。通常情况下,由supervisor启动多个tornado进程,通过nginx进行反向代理负载均衡。nginx 1.14 以后的版本反向代理支持长连接,配合tornado的comet效果很好。
tornado还有一些比较奇葩的用法,比如用来做wsgi容器之类的。
gevent
gevent是一个神器,能做的事情很多。在web方面,处理http请求,用起来其实跟tornado差不多,但是要简陋很多,cookie之类的都没有。用gevent写的一些API服务,部署方式还是类似tornado,用supervisor管理多个守护进程,通过nginx做负载均衡。 同样的它的奇葩用法也和tornado一样,可以当wsgi容器用。

阅读全文

与Python怎么部署相关的资料

热点内容
二次元表格编程 浏览:20
plc编程器保停 浏览:963
如何降低服务器的内存占用率 浏览:868
阿里云服务器是个什么意思 浏览:817
国内最好的数控编程培训学校 浏览:13
222乘104列是算法 浏览:159
程序员沟通正确姿势 浏览:969
魔玩app怎么视频推广 浏览:960
程序员抽奖送礼 浏览:458
北京java程序员薪资 浏览:658
如何创建网络平台或者app 浏览:355
python随机数生成控制概率 浏览:236
压缩机并联运行 浏览:899
两位单片机 浏览:63
四川音乐类投档线的算法 浏览:650
建行app如何改转账卡 浏览:27
android开发升级 浏览:299
要火社区app进不去怎么办 浏览:826
安卓手机上的自定义功能怎么用 浏览:230
方舟服务器怎么购买进去资格 浏览:44