深圳幻海软件技术有限公司 欢迎您!

超级实用的Python环境搭建以及神器推荐!抓紧时间收藏

2023-02-26

今天给大家讲一下如何搭建一个舒适的Python环境,包括本地环境和远程调试环境,然后再附送给大家两套好用的PythonWeb框架。在这个过程中,还穿插着介绍一些适合于初学者的神器,希望大家中意~1安装Python***步,当然是安装Python啦。1.1Mac系统Mac系统默认是安装了Python2

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

1 安装 Python

***步,当然是安装 Python 啦。

1.1 Mac 系统

Mac 系统默认是安装了 Python2.7 的。我们如何另外安装一个 Python3 呢?

首先,推荐你安装神器 HomeBrew 作为命令行下的管理软件。

HomeBrew 的安装方法: 

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

 

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

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

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

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

1.2 Ubuntu 系统

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

apt install python2 #安装python2  
apt install python3 #安装python3  
  • 1.
  • 2.

 

然后,在 Ubuntu 下有两点是需要注意的。

一个是 Python 的定位,我们用 whereis 命令来查看其所在的文件夹: 

whereis python 
  • 1.

 

另一个是 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  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

 

然后给 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  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

 

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

1.3 Python2/3 轻松分离

有时候我们只想使用 Python3,但是 Python2 会干扰到,那么怎么解决呢?

很简单,在要用 Python3 的时候不是输入 Python 而是输入 Python3,在使用 Python3 的 pip 的时候不是输入 pip 而是输入 pip3。

例如,给 Python3 安装 Flask : 

pip3 install Flask 
  • 1.

 

2 Pycharm 神器管理本地环境

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

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

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

2.1 创建新项目

我们来创建一个新项目。

 

主要的参数有两个,一个是 Location ,项目的地址。

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

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

 

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

2.2 改变已有项目的环境

如果一开始配置错了,那么该怎么办呢?

点击 Pycharm > Preference > Project > Project Interpreter设置即可。

 

 

2.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 了吗?

3 Pycharm 轻松实现远程调试

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

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

3.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,右侧出现我们服务器上的文件,就说明远程连接成功了!

 

添加远程 Python 解释器

接下来我们添加远程 Python 解释器,就能在本地「遥控」远程的服务器执行我们的 Python 程序了。

点击 Pycharm > Preference > Project > Project Interpreter > SSH Interpreter

输入 地址、用户名、密码三件套。

 

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

4 Python Web 环境搭建

这里是本文的重头戏了——如何用 Python 在服务器上搭建一个网站

这里推荐 Python-Flask + Nginx + Gunicorn +Supervisor + Sqlite 的方案,因为这几个软件都对新手非常友好。其中 Python-Flask 是后端核心,Nginx 是前端服务器,Gunicorn 是后端服务器,Supervisor 是进程监控软件,Sqlite 是轻型数据库。

4.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 表示框架运行正常。

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里面执行的类叫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

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

4.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

4.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管理的程序进程

4.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

就能解决。

5 总结

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

  • 如何安装 Python
  • 如何安装及使用 Pip
  • Pycharm 本地怎么配置
  • Pycharm 如何配置远程调试环境
  • 怎么在服务器上搭一个以 Python 为后端核心的网站

希望能对大家有所帮助!