打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python 环境搭建以及神器推荐,果断收藏!

导读:今天给大家讲一下如何搭建一个舒适的 Python 环境,包括本地环境和远程调试环境,然后再附送给大家两套好用的 Python Web 框架。在这个过程中,还穿插着介绍一些适合于初学者的神器,希望大家中意~


作者:李大狗

来源:优达学城Udacity(ID:youdaxue)



搭建 Python 环境对于初学者来说,有时候还挺费劲。因此,我把 Python 环境搭建中的五项基础技能集成在这一篇文章里啦:


  • 如何安装 Python

  • 如何安装及使用 Pip

  • Pycharm 本地怎么配置

  • Pycharm 如何配置远程调试环境

  • 怎么在服务器上搭一个以 Python 为后端核心的网站



01 安装 Python


第一步,当然是安装 Python 啦。


1. Mac 系统


Mac 系统默认是安装了 Python2.7 的。我们如何另外安装一个 Python3 呢? 首先,推荐你安装神器 HomeBrew 作为命令行下的管理软件。


HomeBrew 的安装方法:


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


安装完毕后使用 brew help 命令即可查看brew的各种用法啦。


现在我们只要使用这条命令: brew install python3 ,即能轻松安装上 python3 了。


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


最后,使用 brew list 可以查看目前所有通过 brew 安装的命令行工具,其它的用法就通过 brew help 自行查阅吧。


2. Ubuntu 系统


Ubuntu 系统使用的是则默认的包管理工具 apt 。使用如下命令即可安装 python :


  1. apt install python2 #安装python2

  2. apt install python3 #安装python3


然后,在 Ubuntu 下有两点是需要注意的。 一个是 Python 的定位,我们用 whereis 命令来查看其所在的文件夹:


  1. 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.gzcd setuptools-19.6python3 setup.py buildpython3 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,如果有正常返回,那么大功告成!


3. Python2/3 轻松分离


有时候我们只想使用 Python3,但是 Python2 会干扰到,那么怎么解决呢? 很简单,在要用 Python3 的时候不是输入 Python 而是输入 Python3,在使用 Python3 的 pip 的时候不是输入 pip 而是输入 pip3。 例如,给 Python3 安装 Flask :


  1. pip3 install Flask



02 Pycharm 神器管理本地环境


然后,当当,就是我们第二个神器登场啦,就是大名鼎鼎的 Pycharm 代码编辑器。


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


Pycharm 分为社区版(免费)和专业版(付费),二者最大的区别就是付费版本的 Pycharm 支持远程调试。


1. 创建新项目


我们来创建一个新项目。



主要的参数有两个,一个是 Location ,项目的地址。 第二个是 Project Interpreter 项目解释器,也就是你要使用哪个 Python 。如果选择 New environment using 呢,就是新建一个虚拟环境,和本机安装的 Python 互不干扰。如果选择 Existing Interpreter,则是使用本机的现有环境。


如果本机安装的 Python 没显示怎么办?那么点击最后边的省略号,选择 System Interpreter,再点击一次省略号,就能添加了。



然后我们找到 Python 的所在位置,添加即可。如何找到 Python 位置?请见第一部分。


2. 改变已有项目的环境


如果一开始配置错了,那么该怎么办呢? 点击 Pycharm > Preference > Project > Project Interpreter设置即可。



3. Pycharm 中包的安装


在 Pycharm 中,安装 Python 的包有两种方法,一种方法是在刚才的 Project Interpreter 界面里,使用加减号进行包的安装与卸载。



在安装一两个包的情况下,这种方法是一种简便的方法。那么如果是很多的包呢?这种时候我们就要用到 pip 了。


一般而言,github 中规范的 python 源码会提供一个叫 requirements.txt 的文档,文档里记录的是要安装的包的名称以及版本。



然后我们打开 Pycharm 里的终端窗口:



只要到 requirements.txt 所在的目录下,使用 pip3 install-r requirements.txt 命令,就能在当前的 python 环境中导入所有需要的包啦,很方便。


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


怎么样,你 get 了吗?



03 Pycharm 轻松实现远程调试


某些时候,我们会涉及到在服务器上运行 Python 程序,那么我们就需要对 Pycharm 做一些配置。


注意,只有 Pycharm Pro 支持远程调试。


1. 配置远程连接


首先,假定我们手头有一台服务器,并有服务器的账号和密码。


然后打开Tools > Deployment > Configuration > new



如下内容是要我们填写的:


  • SFTP host:服务器地址

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

  • Root path:在服务器上的路径。

  • User name:服务器上的用户名

  • Password:服务器上的密码


再点击Mapping:



  • Local path:映射到服务器上对应位置的本机地址

  • Deploy path:服务器上的文件夹位置。Root path + Deploy path 就是服务器上我们文件所在的完整路径。



配置完成后,点击Tools > Browse Remote Host,右侧出现我们服务器上的文件,就说明远程连接成功了!



2. 添加远程 Python 解释器


接下来我们添加远程 Python 解释器,就能在本地「遥控」远程的服务器执行我们的 Python 程序了。 点击 Pycharm > Preference > Project > Project Interpreter > SSH Interpreter 输入 地址、用户名、密码三件套。



Alright,试着在服务器上运行 Hello World 吧!



04 Python Web 环境搭建


这里是本文的重头戏了——如何用 Python 在服务器上搭建一个网站。 这里推荐 Python-Flask + Nginx + Gunicorn +Supervisor + Sqlite 的方案,因为这几个软件都对新手非常友好。其中 Python-Flask 是后端核心,Nginx 是前端服务器,Gunicorn 是后端服务器,Supervisor 是进程监控软件,Sqlite 是轻型数据库。


1. 配置 Python-Flask 框架


首先,我们 git clone 一个Python框架。


无数据库的 Flask 框架:


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


有数据库的 Flask 框架:


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


然后先在服务器上安装必要的 Python 包:


  1. pip install -r requirements.txt


接着测试一下框架是否能正常运行:


  1. python3 run.py



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


2. 安装 Nginx、Gunicorn 与 Supervisor


在服务器上运行:


  1. apt install nginx

  2. pip3 install gunicorn

  3. pip3 install supervisor


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. 配置 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里面执行的类叫app。

  3. directory=[项目目录]                                                ; 项目的文件夹路径

  4. startsecs=0                                                                             ; 启动时间

  5. stopwaitsecs=0                                                                          ; 终止等待时间

  6. autostart=false                                                                         ; 是否自动启动

  7. autorestart = true   ; 程序异常退出后自动重启

  8. startretries = 3     ; 启动失败自动重试次数,默认是 3

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

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


把上面的项目名称、项目目录、日志目录改成自己的即可。


5. 修改run.py


把 run.py 从本地运行改为服务器上运行。 把 app.run那行注释掉,添加以下代码:


  1. if __name__ == '_main_':

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

  3. #无需填写端口,因为gunicorn中已经填了


万事Okay。执行下面命令,你的后端服务器就运行起来啦!


  1. supervisorctl -c supervisor.conf reload

  2. supervisorctl -c supervisor.conf start all


6. supervisor的用法


  1. supervisord -c supervisor.conf                             通过配置文件启动supervisor

  2. supervisorctl -c supervisor.conf status                    察看supervisor的状态

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

  4. supervisorctl -c supervisor.conf start [all]|[appname]     启动指定/所有 supervisor管理的程序进程

  5. supervisorctl -c supervisor.conf stop [all]|[appname]      关闭指定/所有 supervisor管理的程序进程


7. supervisor 的小 bug


有时候,因为服务器重启等原因 supervisor会出现一个 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  


再执行:


  1. supervisorctl -c supervisor.conf reload  


就能解决。


最后,祝大家学得开心顺利!记得多关注我们哦!


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
从Python各种系统的安装开始教你到案例实战!Python入门很简单!
一位开发大牛留下的python web 部署笔记(受用无穷)
Nginx Gunicorn Flask Supervisor 部署 Python 服务的详细教程
Centos7 + Python3.6 + Django + virtualenv + gunicorn + supervisor 环境配置详解
云主机配置微信公众号后台全记录
使用Docker部署Flask项目 | Theo''s blog
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服