溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么搭建Python環(huán)境

發(fā)布時間:2021-06-12 17:11:21 來源:億速云 閱讀:276 作者:Leah 欄目:編程語言

本篇文章為大家展示了怎么搭建Python環(huán)境,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

1 安裝 Python

1.1 Mac 系統(tǒng)

Mac 系統(tǒng)默認是安裝了 Python2.7 的。我們?nèi)绾瘟硗獍惭b一個 Python3 呢?

首先,推薦你安裝神器 HomeBrew 作為命令行下的管理軟件。

HomeBrew 的安裝方法:

ruby -e "$(wget -O- https://raw.github.com/Homebrew/linuxbrew/go/install)"

安裝完畢后使用 brew help命令即可查看brew的各種用法啦。

現(xiàn)在我們只要使用這條命令: brew install python3,即能輕松安裝上 python3 了。

然后我們使用 brew info python2或者 brew info python3就能查看 Python 2/3 的具體信息,媽媽再也不用擔心我找不到 Python 的位置了!

***,使用 brew list可以查看目前所有通過 brew 安裝的命令行工具,其它的用法就通過 brew help自行查閱吧。

1.2 Ubuntu 系統(tǒng)

Ubuntu 系統(tǒng)使用的是則默認的包管理工具 apt 。使用如下命令即可安裝 python :

apt install python2 #安裝python2  apt install python3 #安裝python3

然后,在 Ubuntu 下有兩點是需要注意的。

一個是 Python 的定位,我們用 whereis 命令來查看其所在的文件夾:

whereis python

另一個是 Pip 的安裝——Pip 是 Python 的包管理插件。

首先安裝 setuptools :

wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-19.6.tar.gz#md5=c607dd118eae682c44ed146367a17e26  tar -zxvf setuptools-19.6.tar.gz  cd setuptools-19.6  python3 setup.py build  python3 setup.py install

然后給 Python3 安裝 pip:

wget --no-check-certificate https://pypi.python.org/packages/source/p/pip/pip-8.0.2.tar.gz#md5=3a73c4188f8dbad6a1e6f6d44d117eeb  tar -zxvf pip-8.0.2.tar.gz  cd pip-8.0.2  python3 setup.py build  python3 setup.py install

然后輸入 pip3,如果有正常返回,那么大功告成!

1.3 Python2/3 輕松分離

有時候我們只想使用 Python3,但是 Python2 會干擾到,那么怎么解決呢?

很簡單,在要用 Python3 的時候不是輸入 Python 而是輸入 Python3,在使用 Python3 的 pip 的時候不是輸入 pip 而是輸入 pip3。

例如,給 Python3 安裝 Flask :

pip3 install Flask

2 Pycharm 神器管理本地環(huán)境

然后,當當,就是我們第二個神器登場啦,就是大名鼎鼎的 Pycharm 代碼編輯器。

https://www.jetbrains.com/pycharm/

Pycharm 分為社區(qū)版(免費)和專業(yè)版(付費),二者***的區(qū)別就是付費版本的 Pycharm 支持遠程調(diào)試。

2.1 創(chuàng)建新項目

我們來創(chuàng)建一個新項目。

怎么搭建Python環(huán)境

主要的參數(shù)有兩個,一個是 Location ,項目的地址。

第二個是  Project Interpreter 項目解釋器,也就是你要使用哪個 Python 。如果選擇 New environment using  呢,就是新建一個虛擬環(huán)境,和本機安裝的 Python 互不干擾。如果選擇 Existing Interpreter,則是使用本機的現(xiàn)有環(huán)境。

如果本機安裝的 Python 沒顯示怎么辦?那么點擊***邊的省略號,選擇 System Interpreter,再點擊一次省略號,就能添加了。

怎么搭建Python環(huán)境

然后我們找到 Python 的所在位置,添加即可。如何找到 Python 位置?請見***部分。

2.2 改變已有項目的環(huán)境

如果一開始配置錯了,那么該怎么辦呢?

點擊 Pycharm > Preference > Project > Project Interpreter設置即可。

怎么搭建Python環(huán)境

怎么搭建Python環(huán)境

2.3 Pycharm 中包的安裝

在 Pycharm 中,安裝 Python 的包有兩種方法,一種方法是在剛才的 Project Interpreter 界面里,使用加減號進行包的安裝與卸載。

怎么搭建Python環(huán)境

在安裝一兩個包的情況下,這種方法是一種簡便的方法。那么如果是很多的包呢?這種時候我們就要用到 pip 了。

一般而言,github 中規(guī)范的 python 源碼會提供一個叫 requirements.txt 的文檔,文檔里記錄的是要安裝的包的名稱以及版本。

怎么搭建Python環(huán)境

然后我們打開 Pycharm 里的終端窗口:

怎么搭建Python環(huán)境

只要到 requirements.txt 所在的目錄下,使用 pip3 install-r requirements.txt命令,就能在當前的 python 環(huán)境中導入所有需要的包啦,很方便。

那么,我們在做項目的時候,如何生成 requirements.txt 以供自己和他人使用呢?同樣是一行命令就能搞定的事: pip freeze>requirements.txt。

怎么樣,你 get 了嗎?

3 Pycharm 輕松實現(xiàn)遠程調(diào)試

某些時候,我們會涉及到在服務器上運行 Python 程序,那么我們就需要對 Pycharm 做一些配置。

注意,只有 Pycharm Pro 支持遠程調(diào)試。

3.1 配置遠程連接

首先,假定我們手頭有一臺服務器,并有服務器的賬號和密碼。

然后打開Tools > Deployment > Configuration > new

怎么搭建Python環(huán)境

如下內(nèi)容是要我們填寫的:

  • SFTP host:服務器地址

  • Port:端口,默認22,一般不用改它。

  • Root path:在服務器上的路徑。

  • User name:服務器上的用戶名

  • Password:服務器上的密碼

再點擊Mapping:

怎么搭建Python環(huán)境

  • Local path:映射到服務器上對應位置的本機地址

  • Deploy path:服務器上的文件夾位置。Root path + Deploy path 就是服務器上我們文件所在的完整路徑。

怎么搭建Python環(huán)境

配置完成后,點擊Tools > Browse Remote Host,右側(cè)出現(xiàn)我們服務器上的文件,就說明遠程連接成功了!

怎么搭建Python環(huán)境

添加遠程 Python 解釋器

接下來我們添加遠程 Python 解釋器,就能在本地「遙控」遠程的服務器執(zhí)行我們的 Python 程序了。

點擊 Pycharm > Preference > Project > Project Interpreter > SSH Interpreter

輸入 地址、用戶名、密碼三件套。

怎么搭建Python環(huán)境

Alright,試著在服務器上運行 Hello World 吧!

4 Python Web 環(huán)境搭建

這里是本文的重頭戲了——如何用 Python 在服務器上搭建一個網(wǎng)站。

這里推薦  Python-Flask + Nginx + Gunicorn +Supervisor + Sqlite  的方案,因為這幾個軟件都對新手非常友好。其中 Python-Flask 是后端核心,Nginx 是前端服務器,Gunicorn  是后端服務器,Supervisor 是進程監(jiān)控軟件,Sqlite 是輕型數(shù)據(jù)庫。

4.1 配置 Python-Flask 框架

首先,我們 git clone一個Python框架。

無數(shù)據(jù)庫的 Flask 框架:

https://github.com/albertschr/MixinEOSPlayer/tree/master/Python/FlaskSketchNosql

有數(shù)據(jù)庫的 Flask 框架:

https://github.com/albertschr/MixinEOSPlayer/tree/master/Python/Flask_Sketch

然后先在服務器上安裝必要的 Python 包:

  1. pip install -r requirements.txt

接著測試一下框架是否能正常運行:

  1. python3 run.py

怎么搭建Python環(huán)境

如果顯示`Running on http://127.0.0.1:5000 表示框架運行正常。

4.2 安裝 Nginx、Gunicorn 與 Supervisor

在服務器上運行:

  1. apt install nginx

  2. pip3 install gunicorn

  3. apt install supervisor

4.3 修改 nginx 的配置文件

nginx 的配置文件在 /etc/nginx/sites-available 目錄下,default 文件。

  1. server {

  2. listen 80;

  3. listen [::]:80;

  4. server_name example.com;

  5. root /home/git;

  6. index index.html;

  7. location / {

  8. try_files $uri $uri/ =404;

  9. }

  10. }

我們要做以下兩件事:

  • 修改 root 為我們前端文件所在的目錄。

  • 在 location 中添加一行 expires-1;,以讓頁面能即時刷新。

4.4 配置 supervisor

在你喜歡的目錄下生成 supervisor.conf 文件:

  1. echo_supervisord_conf > supervisor.conf # 生成 supervisor 默認配置文件

打開配置文件:

  1. nano supervisor.conf

在底部添加:

  1. [program: [項目名稱] ]

  2. command=gunicorn -w4 -b0.0.0.0:1234 run:app ; supervisor啟動命令,文件叫run.py,run.py里面執(zhí)行的類叫app。

  3. directory=[項目目錄] ; 項目的文件夾路徑

  4. startsecs=0 ; 啟動時間

  5. stopwaitsecs=0 ; 終止等待時間

  6. autostart=false ; 是否自動啟動

  7. autorestart = true ; 程序異常退出后自動重啟

  8. startretries = 3 ; 啟動失敗自動重試次數(shù),默認是 3

  9. stdout_logfile=[日志目錄]/gunicorn.log

  10. stderr_logfile=[日志目錄]/gunicorn.err

把上面的項目名稱、項目目錄、日志目錄改成自己的即可。

4.5 修改run.py

把 run.py 從本地運行改為服務器上運行。

把 app.run那行注釋掉,添加以下代碼:

  1. if __name__ == '_main_':

  2. app.run(host="0.0.0.0",debug=True)

  3. #無需填寫端口,因為gunicorn中已經(jīng)填了

萬事Okay。執(zhí)行下面命令,你的后端服務器就運行起來啦!

  1. supervisorctl -c supervisor.conf reload

  2. supervisorctl -c supervisor.conf start all

4.6 supervisor 的用法

  1. supervisord -c supervisor.conf 通過配置文件啟動supervisor

  2. supervisorctl -c supervisor.conf status 察看supervisor的狀態(tài)

  3. supervisorctl -c supervisor.conf reload 重新載入 配置文件

  4. supervisorctl -c supervisor.conf start [all]|[appname] 啟動指定/所有 supervisor管理的程序進程

  5. supervisorctl -c supervisor.conf stop [all]|[appname] 關(guān)閉指定/所有 supervisor管理的程序進程

4.7 supervisor 的小 bug

有時候,因為服務器重啟等原因 supervisor會出現(xiàn)一個 error :

  1. error: <class 'socket.error'>, [Errno 2] No such file or directory: file: /usr/lib/python2.7/socket.py line: 228

這時候,運行以下兩個命令:

  1. sudo supervisord -c /etc/supervisor/supervisord.conf

  2. sudo supervisorctl -c /etc/supervisor/supervisord.conf

再執(zhí)行:

  1. supervisorctl -c supervisor.conf reload

上述內(nèi)容就是怎么搭建Python環(huán)境,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI