- Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。
- Python的设计哲学是“优雅”、“明确”、“简单”。因此,Perl语言中“总是有多种方法来做同一件事”的理念在Python开发者中通常是难以忍受的。Python开发者的哲学是“用一种方法,最好是只有一种方法来做一件事”。
- 在设计Python语言时,如果面临多种选择,Python开发者一般会拒绝花俏的语法,而选择明确的没有或者很少有歧义的语法。由于这种设计观念的差异,Python源代码通常被认为比Perl具备更好的可读性,并且能够支撑大规模的软件开发。
- 这些准则被称为Python格言。
环境搭建前的准备
本文介绍Python开发环境的搭建工作,主要包含如下内容:
- Python 环境的安装
- 使用 virtualenv 实现虚拟环境的管理
- 介绍包管理工具 pip 用法
- PyCharm 的安装和使用
- Git for Windows 进行版本控制
服务器端 Python 环境的安装
CentOS 7于2014年7月7号正式发布,这是一个企业级的Linux发行版本,基于Red Hat红帽免费公开的源代码。从 CentOS 7 开始,CentOS版本号有三个部份,主要和次要版本号分别对应于RHEL的主要版本与更新包,并使用第三部分代表发行的时间。当前最新版本是 CentOS 7.4-1708 (基于 RHEL 7.4)。
1. 编译安装不同的python版本。
查看系统版本,并安装必要工具。gcc是编译安装需要的工具,可以使用yum进行安装,方法如下:
[root@test01 ~]# cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core)
[root@test01 ~]# yum -y install zlib zlib-devel openssl-devel gcc
[root@test01 ~]#
2. 安装 Python 2.7.13 和 Python 3.6.3
- Python 2.7.13
[root@test01 ~]# cd && wget https://www.python.org/ftp/python/2.7.13/Python-2.7.13.tgz
[root@test01 ~]# tar -zxvf Python-2.7.13.tgz
[root@test01 ~]# cd Python-2.7.13
[root@test01 Python-2.7.13]# ./configure --prefix=/usr/local/python2.7 && make -j 4 && make install
- Python 3.6.3
[root@test01 ~]# cd && wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz
[root@test01 ~]# tar -zxvf Python-3.6.3.tgz
[root@test01 ~]# cd Python-3.6.3
[root@test01 Python-3.6.3]# ./configure --prefix=/usr/local/python3.6 && make -j 4 && make install
- 查看安装好的 Python 环境
[root@test01 ~]# /usr/local/python3.6/bin/python3.6 -V
Python 3.6.3
[root@test01 ~]# /usr/local/python2.7/bin/python2.7 -V
Python 2.7.13
3. 安装配置 pip 和 virtualenv
pip 是一个用来安装和管理 Python 包的工具,它是easy_install 的替代品,也是目前社区的主流工具。
- 可以使用
easy_install pip
进行安装,如果没有 easy_install 工具,可以使用如下命令先进行安装:
[root@test01 ~]# wget https://bitbucket.org/pypa/setuptools/downloads/ez_setup.py && python ez_setup.py
- 安装 pip 并配置 pip 的输出格式
[root@test01 ~]# easy_install pip
[root@test01 ~]# pip install virtualenv
[root@test01 ~]# cat /etc/pip.conf
[list]
format=columns
[root@test01 ~]# pip completion --bash >> ~/.bash_profile
4. 安装配置virtualenvwrapper
virtualenvwrapper 是对 virtualenv 的功能扩展,主要用来管理全部的虚拟环境,方便创建、删除和拷贝虚拟环境。
[root@test01 ~]# pip install virtualenvwrapper
[root@test01 ~]# echo "export WORKON_HOME=~/test/venv" >>~/.bash_profile
[root@test01 ~]# source ~/.bash_profile
[root@test01 ~]# source virtualenvwrapper.sh
[root@test01 ~]# echo 'source /usr/bin/virtualenvwrapper.sh' >>~/.bash_profile
5. 创建python环境
[root@test01 ~]# mkvirtualenv -p /usr/local/python2.7/bin/python2.7 venv201
(venv201) [root@test01 ~]# deactivate
[root@test01 ~]#
[root@test01 ~]# mkvirtualenv -p /usr/local/python3.6/bin/python3.6 venv301
(venv301) [root@test01 ~]# deactivate
[root@test01 ~]#
[root@test01 ~]# allvirtualenv python -V
venv201
=======
Python 2.7.13
venv301
=======
Python 3.6.3
[root@test01 ~]#
至此CentOS 7.4-1708上已经安装好了我们需要的 Python 环境,接下来我们在PC机上(Windows7)安装开发工具PyCharm。
客户端 PyCharm 的安装和配置
1. PyCharm 的下载和安装
软件下载地址如下:
https://download.jetbrains.com/python/pycharm-professional-2017.3.3.exe
安装过程我这里不多介绍,与普通软件的安装一样,双击执行。
安装完成
2. 安装 Git for Windows
软件下载地址如下:
https://github.com/git-for-windows/git/releases/download/v2.16.2.windows.1/Git-2.16.2-64-bit.exe
安装过程我这里不多介绍,与普通软件的安装一样,双击执行,一直使用默认即可。
配置编辑工具
安装完成
3. 配置运行的 Python 环境
-
打开PyCharm(JetBrains PyCharm 2017.3.3 x64)
image.png
image.png
image.png -
创建 Flask 框架的程序,程序名叫 HelloWorld。并且使用远程的 Python 虚拟环境,Add Remote...
image.png -
配置远程的 Python 虚拟环境,这里使用ssh验证连接,注意 Python 环境的路径。
image.png -
配置远程程序的路径,默认在 /tmp 下,这里我们改一下,方便查看与管理,一般情况我们不要在服务器端修改程序。
image.png -
点击 Create 后需要输入服务器端的密码
image.png -
进入 PyCharm 工程,可以看到日志显示已经将工程上传到服务器端了
image.png -
在服务器端验证一下,可以看到已经有了 PycharmProjects 文件夹
image.png -
尝试运行发现失败,失败原因是:在服务器端没有安装 Flask 模块
image.png -
安装 Flask 模块
image.png
image.png -
再次运行,成功了
image.png
4. 配置 GitHub 并上传代码
-
配置 GitHub 账号信息
image.png -
设置 Git 路径
image.png -
使用 Git Add 整个文件夹
image.png -
分享到GitHub中
image.png
image.png
image.png -
验证
image.png
客户端连接服务器,并进行测试
1. 编写 Web 页面
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World! My name is Liuxin!'
if __name__ == '__main__':
app.run(host='192.168.1.30', port=8080)
网友评论