原标题: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 的安装方法:

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 :

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

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 包:

pip install -r requirements.txt

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

python3 run.py

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

2. 安装 Nginx、Gunicorn 与 Supervisor

在服务器上运行:

apt install nginx

pip3 install gunicorn

pip3 install supervisor

3. 修改 nginx 的配置文件

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

server {

listen 80;

listen [::]:80;

server_name example.com;

root /home/git;

index index.html;

location / {

try_files $uri $uri/ =404;

}

}

我们要做以下两件事:

修改 root 为我们前端文件所在的目录。

在 location 中添加一行 expires-1; ,以让页面能即时刷新。

4. 配置 supervisor

在你喜欢的目录下生成 supervisor.conf 文件:

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

打开配置文件:

nano supervisor.conf

在底部添加:

[program: [项目名称] ]

command=gunicorn -w4 -b0.0.0.0:1234 run:app ; supervisor启动命令,文件叫run.py,run.py里面执行的类叫app。

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

startsecs=0 ; 启动时间

stopwaitsecs=0 ; 终止等待时间

autostart=false ; 是否自动启动

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

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

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

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

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

5. 修改run.py

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

if __name__ == '_main_':

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

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

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

supervisorctl -c supervisor.conf reload

supervisorctl -c supervisor.conf start all

6. supervisor的用法

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

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

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

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

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

7. supervisor 的小 bug

有时候,因为服务器重启等原因 supervisor会出现一个 error :

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

这时候,运行以下两个命令:

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

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

再执行:

supervisorctl -c supervisor.conf reload

就能解决。

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

Q:这款神器,你搞定了吗?

转载 / 投稿请联系:baiyu@hzbook.com返回搜狐,查看更多

责任编辑:

python web环境傻瓜搭建_Python 环境搭建以及神器推荐,果断收藏!相关推荐

  1. python和编辑器一块安装_python环境搭建与编辑器安装

    #  python环境搭建与编辑器安装 学习一种语言的开始,一定是搭建编译环境以及拥有一个编辑器,作为公众号的第一篇文章,也是python教程的开始,本文主要介绍python编译环境的搭建与编辑软件的 ...

  2. python导入模块的变量_python 环境变量和import模块导入方法(详解)

    1.定义 模块:本质就是.py结尾的文件(逻辑上组织python代码)模块的本质就是实现一个功能 文件名就是模块名称 包: 一个有__init__.py的文件夹:用来存放模块文件 2.导入模块 for ...

  3. python web 开发教程下载_Python Web开发从入门到精通

    Python Web开发从入门到精通循序渐进地讲解了Python Web开发的核心知识,并通过具体实例的实现过程演示了Web开发程序的流程.Python Web开发从入门到精通共15章,内容包括Pyt ...

  4. python web开发第三方库_Python Web开发中常用的第三方库

    Python Web开发中常用的第三方库 TL;DR 经常有朋友问,如果用Python来做Web开发,该选用什么框架?用 Pyramid 开发Web该选用怎样的组合等问题?在这里我将介绍一些Pytho ...

  5. python web 全栈开发_Python全栈开发:web框架

    Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 上述通过socket来实现了其本质,而对于真实开发中的python ...

  6. python web三大框架对比_Python六大框架对比,Web2py略胜一筹

    Python是一门动态.面向对象语言.其最初就是作为一门面向对象语言设计的,并且在后期又加入了一些更高级的特性.除了语言本身的设计目的之外,Python标准库也是值得大家称赞的,Python甚至还自带 ...

  7. python环境变量配置_Python环境变量的配置

    1.右击我的电脑,点击属性,选择高级系统设置 2.选择环境变量 3.第一步:选择系统变量中:path:第二步:选择编辑 4.找到python的存储路径,并复制 5.将路径粘贴在此处 6.点击" ...

  8. python编程环境安装包_Python环境安装与配置

    第二天-Python环境境安装及简单程序的编写 一.Python的安装 1.首先进入网站下载:点击打开链接(或自己输入网址https://www.python.org/downloads/),进入之后 ...

  9. 怎么安装python环境和编译器_Python环境安装以及PyCharm编译器的安装

    Python下载 Python最新源码,二进制文档,新闻资讯等可以在Python的官网查看到: 你可以在以下链接中下载 Python 的文档,你可以下载 HTML.PDF 和 PostScript 等 ...

最新文章

  1. R语言layout函数处理可视化图像布局实战
  2. 网站提示java已被阻止_Win7系统下打开网页提示应用程序已被JAVA安全阻止
  3. list(map(lambda x:x[:-1], g.readlines())) 理解
  4. python目标跟踪精度曲线图_Python+opencv3.4+Kalman滤波在视频中跟踪绘制运动目标,Pythonopencv34kalman,卡尔曼滤波,实现,物体,追踪,和,轨迹...
  5. 940B. Our Tanya is Crying Out Loud
  6. 转 C++宏定义详解
  7. CSS可以实现可视化设计吗?要如何实现?
  8. 191202-GETJOB-捡历的写法
  9. orm设置bool型 python_Python SQLAlchemy入门教程
  10. 一个简单的EJB-Session Bean实例
  11. ftp上传乱码_ftp同步图片到本地文件夹,ftp同步图片到本地文件夹的实现步骤
  12. 十四 关于interrupt, interrupted, isInterrupted
  13. POJ 2478:Farey Sequence
  14. mcafee 8.5i 企业版状态代码解释
  15. [979]小米6X如何开启root权限
  16. jconsole是否可以在生产环境使用_使用JCONSOLE远程监控JVM
  17. STM32利用DCMI对并口ADC高速数据采样
  18. 如何用java模拟饭店点菜,【模拟饭店2怎么玩】餐厅攻略大全
  19. 计算机查用户名,怎样查自己电脑用户名_查自己电脑用户名命令
  20. 【近五千字纯手撸】✨前后一个月面试30家中大型高级、资深java工程师终获500强公司offer心得以及经过

热门文章

  1. 无法获取保存在session中的验证码
  2. 我的世界java导出皮肤_我的世界Alex1.8夕立poi皮肤
  3. intel 指令集_苹果首款ARM Mac来了,浅谈ARM和Intel处理器
  4. d. powerful ksenia_DEBON D.D |这才是每个女人应该拥有的
  5. JDK8的LocalDateTime用法
  6. Linux安装redis和部署
  7. Sigar - no sigar-amd64-winnt.dll in java.library.path
  8. MYSQL5.7离线安装报libnuma.so.1()(64bit) is needed by mysql-community-server-5.7.29-1.el7.x86_64
  9. Android开发笔记(十九)底部标签栏TabBar
  10. AttributeError: 'NoneType' object has no attribute 'split' 报错处理