怎么使用本地的python python的本地编辑器_ubuntu 卸载python


Python 环境搭建以及神器推荐

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

1 安装 Python

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

1.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自行查阅吧。

1.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/package 
  s/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/package 
  s/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 :

  1. pip3 install Flask

2 Pycharm 神器管理本地环境

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

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

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

2.1 创建新项目

我们来创建一个新项目。


怎么使用本地的python python的本地编辑器_ubuntu 卸载python_02


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

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


怎么使用本地的python python的本地编辑器_怎么使用本地的python_03


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

2.2 改变已有项目的环境

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


怎么使用本地的python python的本地编辑器_python安装方法_04


怎么使用本地的python python的本地编辑器_python安装方法_05


2.3 Pycharm 中包的安装

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


怎么使用本地的python python的本地编辑器_怎么使用本地的python_06


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

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


怎么使用本地的python python的本地编辑器_怎么使用本地的python_07


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


怎么使用本地的python python的本地编辑器_python安装方法_08


只要到 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


怎么使用本地的python python的本地编辑器_python安装方法_09


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

  • SFTP host:服务器地址
  • Port:端口,默认22,一般不用改它。
  • Root path:在服务器上的路径。
  • User name:服务器上的用户名
  • Password:服务器上的密码

再点击Mapping:


怎么使用本地的python python的本地编辑器_怎么使用本地的python_10


  • Local path:映射到服务器上对应位置的本机地址
  • Deploy path:服务器上的文件夹位置。Root path + Deploy path 就是服务器上我们文件所在的完整路径。


怎么使用本地的python python的本地编辑器_python省略号怎么打_11


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


怎么使用本地的python python的本地编辑器_python省略号怎么打_12


添加远程 Python 解释器

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


怎么使用本地的python python的本地编辑器_怎么使用本地的python_13


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 框架:

EOSPlayer/tree/master/Python/Flask SketchNosql

有数据库的 Flask 框架:

EOSPlayer/tree/master/Python/Flask_Sketch

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

  1. pip install -r requirements.txt

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

  1. python3 run.py


怎么使用本地的python python的本地编辑器_怎么使用本地的python_14


如果显示`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 为后端核心的网站

希望能对大家有所帮助!ღ( ´・ᴗ・` )

文——李大狗