導航:首頁 > 編程語言 > 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怎麼部署相關的資料

熱點內容
python如何將圖片輸出到雲伺服器 瀏覽:838
貴陽螺桿壓縮冷凝機組組成 瀏覽:115
掃描製作pdf 瀏覽:515
2016奇駿車機如何安裝app 瀏覽:764
phpvc9x64 瀏覽:73
蜜語星球解壓 瀏覽:476
c語言編譯器怎麼打不開 瀏覽:818
海印程序員 瀏覽:648
為什麼華為手機找不到伺服器 瀏覽:664
pdf增減 瀏覽:608
雲伺服器怎麼公網架設網站 瀏覽:91
pythonrequests慢 瀏覽:140
excel保存沒有pdf 瀏覽:922
冰箱壓縮機管囗示意圖 瀏覽:497
許振民編譯局 瀏覽:625
雙網路加什麼伺服器好用 瀏覽:211
linux命令中文 瀏覽:839
python怎麼做物聯網 瀏覽:731
app有什麼推薦嗎 瀏覽:79
自學程序員能不能面試工作 瀏覽:879